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

Enforcing Coding Standards

Enforcing Coding Standards

Talk given at MelbJS (Melbourne, Australia) - January 2015

Sebastiano Armeli

January 14, 2015
Tweet

More Decks by Sebastiano Armeli

Other Decks in Programming

Transcript

  1. Sebastiano Armeli
    @sebarmeli
    Enforcing

    Coding Standards
    14/1/2015 - MelbJS

    View Slide

  2. @sebarmeli
    Sebastiano Armeli

    View Slide

  3. View Slide

  4. function Dog(name) { if (name != null)
    { this.name = name;
    }
    }
    Dog.prototype.bark = function (){
    // do something
    };
    exports.Dog=Dog;

    View Slide

  5. commit 111111
    Author: Sebastiano Armeli
    Date: Sun Dec 21 22:08:00 2014 -0500
    adding something
    commit 2222222
    Author: Sebastiano Armeli
    Date: Thu Dec 18 15:35:39 2014 -0500
    it will work, trust me

    View Slide

  6. my_project
    |
    |— module1.js
    |— module2.js
    |— module3.js
    |— module_4.js
    |__ module5.js
    |— package.son

    View Slide

  7. View Slide

  8. View Slide

  9. EditorConfig

    View Slide

  10. Coding Style / Conventions

    View Slide

  11. Git Commits
    (feat|fix|docs|style|refactor|test|chore)():
    E.g.
    doc(readme): update with additional links.

    View Slide

  12. Changelog
    conventional-changelog Changelog.md
    commit 7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    Author: Sebastiano Armeli
    Date: Tue Jan 6 11:48:59 2015 -0500
    refactor(BaseAd): Removed addToStreamTime method from BaseAd
    commit 7bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    Author: Sebastiano Armeli
    Date: Tue Jan 6 00:04:49 2015 -0500
    style(gpt): rearrange for better readability

    View Slide

  13. ./setup.sh
    npm i && gulp test
    pre-commit hook

    View Slide

  14. README.md
    doc

    View Slide

  15. Build tool
    gulp test / gulp dev

    View Slide

  16. ES6
    gulp es6
    /src /dist

    View Slide

  17. Plato
    gulp plato

    View Slide

  18. Testing

    View Slide

  19. CI / CD
    gulp test:ci gulp bump:path
    gulp bump:minor
    gulp bump:major
    Changelog.md

    View Slide

  20. @sebarmeli
    Sebastiano Armeli
    http://goo.gl/0DfEmk

    View Slide