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