UI Guidelines
& Code Review Process
Everyone on same page
Metric system adoption map
On September 23, 1999 NASA lost the $125 million Mars Climate Orbiter spacecraft after a 286-day journey to Mars. Lockheed Martin, was sending thruster data in English units (pounds) to NASA, while NASA's navigation team was expecting metric units (Newtons).
The best way to write bug free code
is to not write any code at all
Use boilerplates
"But my manager still wants me to write code"
Use IDE
"But i use SublimeText"
Looks Dont matter
Does
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.php]
indent_size = 4
.editorconfig
Lint Your Code
{
"extends": "google",
"installedESLint": true,
"rules": {
"max-len": 0
},
"parserOptions": {
"ecmaVersion": 7
}
}
.eslintrc.json
{
"rules": {
"no-duplicate-variable": true,
"no-unused-variable": [
true
]
},
"rulesDirectory": [
"node_modules/tslint-eslint-rules/dist/rules"
]
}
.tslint.json
Dangal
Match #1
Less vs Scss
Winner
Scss with compass
Match #2
Flux vs Redux
Winner
Redux
Match #3
Mocha vs Jest
Tie
Jest for React
Mocha for rest (for now)
Match #4
ES 5 vs ES 6
Winner
ES 7
Use Validators
BS 8878 compliant
or WCAG 2.0 compliant
Fun Fact:
Why is FB logo blue
coz Zuck is color blind
< 10 Errors + Warnings
90/100
80%
B Grade
4 A's
Git to rescue
- repo: https://github.com/pre-commit/pre-commit-hooks
sha: 96fb7fa10f2f4c11ed33482a9ad7474251e5e97f
hooks:
- id: trailing-whitespace
- id: check-json
- id: pretty-format-json
args:
- --indent
- '2'
- --no-sort-keys
- id: check-merge-conflict
- id: check-symlinks
- id: check-json
- repo: https://github.com/pre-commit/mirrors-eslint
sha: 3f5585a65eeec878e779a5630628db158ba3dab1
hooks:
- id: eslint
additional_dependencies: ['eslint@3.12.2', 'eslint-config-google@0.7.1']
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
## Related Issue
<!--- This project only accepts pull requests related to open issues. Provide issue link: -->
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Screenshots (if appropriate):
## Types of changes
<!--- What types of changes does code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
- [ ] Wave no errors.
- [ ] W3c no errors.
- [ ] YSlow > B grade.
- [ ] Lighthouse > 95/100
pull_request_template.md
Master
(prod env)
Dev
F Branch 1
F Branch 2
Hotfix
Tag Rel 1
Staging
(pre-prod env)
Tag Rel 2
Bug fixes
RI
FI
RI
FI
Woo hoo
my code is live
- Use VS Code
- Use 2 spaces for indentation with no trailing space
- Google's version of eslint
- Pre-commit checks must
- Every commit pass the min validator score
- No Commits on dev or master
- Create github templates for PR n issues
- Keep commits atomic
- Give a proper commit msg to each commit
-
Every PR to be as small as possible
-
One external reviewer must for each project
End
Part I
UI Guidelines
By Prathik S
UI Guidelines
- 1,279