Webdev:Flux:Code Review Process
When stewarding a project code is written externally. The following steps will generate bugs. Once critical bugs are fixed, and the app can be successfully run locally, the app should be staged.
This checklist is useful for the 'first pass' after a 'code drop' aka Trebuchet.
Code review Checklist
- README.md exists and has everything you need to get the app up and running
- Ensure that all config settings that will need to be updated have been added to the appropriate -dist file and are documented. Does README.md mention -dist files?
- Uses requirements/prod.txt etc patterns
- App starts in development mode
- Spend a few minutes using the app
- Can you understand the purpose of the application?
- YSlow/Page Speed Scores
- Shoot for an A
- Any low hanging fruit to get it there?
- JS/CSS jingo-minify
- w3 Validator
- Firebug net tab - any 404 or 500
- Review settings.py - anything stand out?
- settings_local.py-dist exists?
- email - uses Responsys or SocketLabs instead of local mail?
- any exotic libraries or services
- Review all typical Django code (urls, views, models, forms, etc)
- Review app specific python code
- pylint, pyflakes with generous settings (ignore 80 char etc)
- l10n - templates use gettext?
- Security - any obvious issues?
- good style?
- No inline or obtrusive JS
- jslint with generous settings
- CSS good style
- JS and CSS not minified in dev mode
- Image - have no text embedded