<story><title>Google JavaScript style guidelines</title><url>http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml</url><text></text></story><parent_chain></parent_chain><comment><author>WilliamLP</author><text>With JavaScript, there is an interesting contrast between what its fans say are its strengths and what battle-hardened experience actually requires you to do.&lt;p&gt;For example:&lt;p&gt;- Prototype object systems are great... except don&apos;t actually use this, it doesn&apos;t really work. Use our simulation of a classical object system instead.&lt;p&gt;- Lambdas are wonderful and powerful when combined with closures... except they leak memory. Don&apos;t use them, but declare named functions.&lt;p&gt;- The &apos;this&apos; parameter was a stupid idea. Use it as little as possible, except when absolutely necessary.&lt;p&gt;- Be really conscious all the time, because of a stupid and misguided semi-colon insertion feature that will mess you up.&lt;p&gt;- Don&apos;t bother trying to use anything other than C style for loops over collections. They mess you up.&lt;p&gt;- The dynamic type system is nice... however experience shows us that what we really want is actually a static system, so JavaDoc types of everything with a cumbersome and extremely verbose syntax instead.&lt;p&gt;- Extending prototypes of existing objects is an amazing and powerful feature. Please don&apos;t ever use it.</text></comment>
<story><title>Google JavaScript style guidelines</title><url>http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml</url><text></text></story><parent_chain></parent_chain><comment><author>theycallmemorty</author><text>&amp;#62; Relying on implicit insertion can cause subtle, hard to debug problems. Don&apos;t do it. You&apos;re better than that.&lt;p&gt;I loved that quote.</text></comment>