Jul*_*era 38 javascript open-source design-patterns
我正在努力寻找一种编写优秀JavaScript代码的方法,这些代码效率很高,被其他开发人员广泛接受并且不是很难看.
直到最近,我使用的只是文字对象和jQuery的一些内容,但在阅读了Douglas Crockford的"JavaScript:The Good Parts"后,我现在完全意识到JavaScript比AJAX,DOM修改和简单动画更多.
问题是JavaScript似乎没有太多标准化.可用的OOP /继承模式的数量超过了我.我并不习惯每个框架/库都提供自己的继承.我也不想对这些事情做出错误的决定,因为这意味着在出现一些问题时重写所有代码.
所以我正在寻找的是现有的开源Web应用程序,如果可能的话,在客户端使用JavaScript,以查看实际项目中使用的模式.我想看看Web应用程序的代码,而不是框架或库.我不介意,如果这些网络应用程序是基于某个框架(如果它是Dojo或RequireJS,它会更好,因为我正在使用它们;)
小智 7
我总是向那些对此类事情感兴趣的人推荐的是:坚持你的团队所做的事情.如果它们camelCase用于方法,则使用它.如果它们snake_case用于变量,那么就这样做.如果你的团队喜欢空格而不喜欢; 使用它们.
永远不要进入一个标准化风格改变事物的固定团队,因为它看起来更好,除非它导致严重的问题.
如果你不是在一个团队工作,而你对使用编码风格感兴趣; 然后使用您最常使用的库的样式.
jQuery坚持使用jQuery编码风格指南Closure图书馆使用JavaScript Google编码样式MooTools库,请使用MooTools编码样式指南组织方面,Closure是最好的...但对我来说,感觉就像我在阅读JAVA而不是javascript.去搞清楚.
小智 5
是的.有一些JavaScript大师已经写了很多关于如何编写JavaScript,关于基于Java的原型OOP,甚至关于应该如何进行缩进和命名变量.
但是,如果您正在寻找一个大型JavaScript实现作为示例,我会寻找HTML5游戏实现.实际上保证你会发现一个足够大,写得很好的例子,而不是缩小.
如果您对 JavaScript 标准感兴趣,我会查看commonJS。他们对于如何完成 JavaScript 有很多好主意。
BravoJS是一个很好的浏览器模块实现。
至于示例,评论中提到了 jQuery 的源代码。jQuery 做得很好,但我也会查看Narwhal JS以获取应该如何完成事情的示例。
这是一本很好的免费设计模式书籍,我发现它很有帮助:《Essential JavaScript And jQuery Design Patterns》。
你不会找到一种解决方案来解决你的问题,这就是 JavaScript 的设计方式。我建议尝试一下。我发现道格拉斯·克罗克福德有很多很棒的想法,但这并不意味着你必须严格遵循他的想法。