dev status
"Keepin' it tight"
DTVE 1.5
June 2013
Hunter Loftis
<hunter@skookum.com>
workflow
Awesome
- Multiple daily pull requests.
- Good communication on bitbucket.
- I haven't heard Matt say 'what the fuck, git?' once.
- Drew's got a nice deploy process going on.
use code reviews when possible
describe non-obvious pulls
node.js back-end
Pretty damn good
- Won't deploy without passing tests: perfect.
- Middleware is great, you guys totally get that concept.
- Jade pages and layouts are well done and simple.
write more tests!
(especially Zombie / Integration tests)
Consider reducing indirection
more direct:
jsdoc as the project grows
(then use doxx or dox-foundation to generate beautiful documentation)
front-end js / angular / css
Great start; a little cluttered
- Fantastic first set of reusable components.
- Smart adaptations for mobile.
- Good initial implementation of shared services.
big controllers => subcontrollers
(for example, browseController could use this)
$compile data-bound templates
Good practice wherever you're using $.append
be declarative where possible
When you manipulate the DOM, check to see if Angular provides a built-in mechanism.
should use ngSwitch or $compile:
should use ngClick:
see also: ngShow, ngClass, ngRepeat, ngSelected
prefer state over transformations
instead, with state:
If your application can build itself from declarative state, deep linking is easy.
templateurl for long templates
this is easier to read and write:
(later, pull the build tools from ng-boilerplate to build the front end)
try to keep up with sandboxes
This is hard to debug as one big blob.
use $destroy to avoid memory leaks
(I didn't mention this last time!)
conclusion
The DTV team has made great progress - developing and integrating a set of components that I would consider high-quality first drafts into a server that has maintained a coherent structure after re-organization to fit the team and project.
Obstacles have been handled thoughtfully. Instead of hacking things together, the team has implemented maintainable architectural solutions such as shared services where possible.
The codebase feels very jQuery-idiomatic, and it would probably be smaller, easier to maintain, and more reliable if it were Angular-idiomatic. This will become more natural as the team grows familiar with the tools that Angular provides out-of-the-box that are currently being re-implemented extraneously in jQuery.
afterthought: sencha => ng
At Skookum, we moved from Sencha, to custom HTML5, to Angular-based mobile apps. If you guys start a Sencha-free mobile app, we should get together and share libraries.
dtv dev status
By hunterloftis
dtv dev status
- 1,508