Naming convention
- Please refer to: https://angular.io/styleguide
- File names and class name: refer to doc
- directive name: prefix with pi-
- imports: use IntelliJ format code to code format the imports
Selector name:
- add prefix: e.g. pi-
- recommended to use dashed-case or kebab-case: https://angular.io/styleguide\#!\#components
- We try to follow the BEM style, but underscore upsets tsLint (although it's not a problem to use underscore and it's recommened for XML tag name)
- as a result, we use double hyphen for block element seperation (there would be no modifier concept for selector names. Conditions would be encapsulated within a component)