Most upvoted comment
Most popular programming book on Reddit. rank no. 16
I made FullScreenMario.com, now celebrating 2 million visits. AMA!(r/IAmA)
I’m going to be brutally honest here, and I’m probably going to get down-voted, but I’m not impressed with the underlying code for the project. I don’t even know where to begin.
I’m posting this here, instead of on Github, because these aren’t quite bug reports. I’d be more than happy to contribute though.
Syntax and readability are more important than shortcuts.
Cutting corners in the interest of character count is useless. It’s better to be able to read the code than to have to interpret it line-by-line.
For hinting, I recommend JSHint. It’ll be nicer than JSLint, but it’ll still likely hurt your feelings.
Here are some JSHint errors/warnings that popped up:
> The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.
> Expected an identifier and instead saw ‘arguments’ (a reserved word).
> Expected a ‘break’ statement before ‘case’.
Use an AMD-style, modular system like Require.js or Yahoo Module Pattern because Global variables are evil. The basic idea behind a modular system is that every piece of functionality is broken down to its basic form, and no less. It helps to keep things organized. Even if you choose not to use a framework, following a trusted organizational pattern is a good idea. Consistency is key.
I really like the project, but the code is unwieldy and confusing.