{"issue":{"title":"You should definitely watch Crockford on JavaScript Before Attempting this Project","user":{"login":"hasokeric","id":403818,"url":"https://api.github.com/users/hasokeric","avatar_url":"https://secure.gravatar.com/avatar/40d819a681893e64135b9f68b4370dcc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"40d819a681893e64135b9f68b4370dcc"},"created_at":"2011-12-27T19:36:49Z","milestone":null,"labels":[],"state":"open","updated_at":"2011-12-27T23:33:00Z","id":2665694,"closed_at":null,"html_url":"https://github.com/chrisdickinson/fpsjs/issues/1","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"body":"I see alot of bad coding habits.","number":1,"url":"https://api.github.com/repos/chrisdickinson/fpsjs/issues/1","comments":1,"assignee":null},"comment":{"user":{"login":"chrisdickinson","id":37303,"url":"https://api.github.com/users/chrisdickinson","avatar_url":"https://secure.gravatar.com/avatar/f70956bdb907c2f8b39ff624ea925ccd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f70956bdb907c2f8b39ff624ea925ccd"},"created_at":"2011-12-27T23:33:00Z","updated_at":"2011-12-27T23:33:00Z","id":3286604,"body":"What coding habits, in particular, strike you as egregious?\r\n\r\nI'm curious, particularly because I've watched Crockford (and read \"the good parts\") and find that while he makes several good points, there are also points he makes that I disagree with. In particular, I am a fan of [comma-first](https://gist.github.com/357981), [semicolon-less](http://aresemicolonsnecessaryinjavascript.com/), prototype-centric (as opposed to Crockford's closure-based \"function returning an object\" pattern) style in JS. There are, of course, upsides and downsides to both styles, but by and large I try to follow the general style that the Node.JS community has adopted -- the one point where I diverge is my use of `underscore_connected` names (vs. `camelCase`'d names), though I fully recognize that I'm going against the grain on that one.\r\n\r\nAdmittedly, this project is somewhat sloppy:\r\n\r\n* Some of the mess is caused by basing the project on `require.js` and it's subsequent interactions with the three different environments it runs in -- node, main browser event loop, and web worker. \r\n\r\n* The global contexts I use in browser -- `RendererLoop`, `Network`, and `Thread` are global mainly for utility purposes -- they should be refactored -- and partially because of the aforementioned interaction with `require.js`.\r\n\r\n* There are no tests. This is my biggest problem with the code as it stands.\r\n\r\nI'm curious to hear about what you saw that bothered you.\r\n\r\nThanks,\r\nChris \r\n\r\n","url":"https://api.github.com/repos/chrisdickinson/fpsjs/issues/comments/3286604"},"action":"created"}