Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Keep your projects tight

Keep your projects tight

How to manage work with large distributed team regarding code consistency, build process and automation

Kamil Ogórek

November 19, 2013

More Decks by Kamil Ogórek

Other Decks in Programming


  1. Dedicated teams Project specific code conventions Detailed code review Dedicated

    teams Build and deployment process Reliable development stack
  2. Hey guys! There’s this new, cutting-edge thing. Let’s use it,

    even though none of us know anything about it.
  3. It doesn’t have to be that way ! We already

    have tools that can save us a lot of precious time and highly speed-up our development process
  4. Spend some time and think twice about your architecture and

    development process ! It’ll help you in a long run
  5. “modern lint checkers are often used to find code that

    doesn't correspond to certain style guidelines.” http://en.wikipedia.org/wiki/Lint_(software) JSLint: http://www.jslint.com/ ESLint: https://github.com/nzakas/eslint JSHint: http://www.jshint.com/
  6. If there’s a reason to break those rules, do it.

    But always explain why Tip: JS linters respect scope within which you set local changes
  7. GRUNT TO THE RESCUE Easy to configure Plenty of plugins

    Writing your own task with no hassle
  8. GRUNT TO THE RESCUE Easy to configure Plenty of plugins

    Writing your own task with no hassle It’s still just JavaScript and Node
  9. Think about your build process before starting a project and

    verify it before merging anything to repository
  10. `your-repo/.git/hooks/hook-type` HOW TO? Keep in mind to set executable permissions

    for hook files: `$ chmod +x your-repo/.git/hooks/hook-type`
  11. Travis CI Lets you monitor status of your repository and

    run specific tasks for every commit ! It’s fully integrated with GitHub Status API
  12. Setting up Enable travis service hook on GitHub repository: https://github.com/your-user/your-repo/settings/hooks

    Create `.travis.yml` in project root And just add test script to package.json
  13. Keep in mind that still, no matter what, people will

    be still making mistakes ! Minimise the risk by allowing machine to do the hard work
  14. Those are only tools They suppose to help you do

    your work, not make it more difficult
  15. Once written stack can be a great codebase for all

    future projects within your company if everyone will respect settled rules