评价:
3星。如果手头宽裕,或者公司给买就买本看看。如果觉得自己水平欠佳,也推荐学习下。不然就算了。
其中内容3.5,编辑2.5,综合起来就是3星了。
适合人群:
- 缺少规范编程训练的开发者,比如学生
- 对整个开发环境缺乏了解的新人
读后感
很早就关注这本书,当时还只有英文版,前几日看到中文版上线,又是淘宝几个人译的,就赶紧买了,结果看后大失所望。
最让我失望的是书里印刷错误很多,甚至连!=
都能印成!==
(第50页),估计道行浅的看到这儿就迷茫了。全书我看得比较细的是前面8章,几乎每章都有错误,实在让人如鲠在喉。
整书的内容偏浅,讨论的多是差不多的几种方案选择其一,比如空格缩进、4空格2空格、注释要不要有空行之类。其实这种东西绝大多数语言都会涉及到,也没什么好坏之分,团队领导随便选一个就是了。真正对代码质量有较大帮助的是命名空间(第6章)、UI层解耦(第5章)、事件和逻辑接偶(第7章)。读完这几章本以为书会渐入佳境,结果后面都是很浅显的否定浏览器推断的做法,以及介绍使用Ant进行编译,就没什么意思了。
在我看来,有些内容是不用多说的,比如用浏览器推断某种方法是否存在,提一嘴就行了;有些内容则是初段码农和高阶程序员的分水岭,这才值得大书特书。比如,复杂逻辑的扁平化处理、超长条件分拣成更易读的名字、模式的应用、大型项目的架构、消息机制,等等。可惜这些书里都没有提。至于Ant的介绍,至少我这种半路出家的非Java开发者并不熟悉,倒是直接node.js+grunt用起来挺顺手,而且每家公司的工具使用状况也不一样,是否直接写好几章真的有待商榷。
我认为,如果自我感觉缺乏系统可靠的编程培训,可以看看这本书。如果想真正提高自己的代码质量,这本书价值不高。
欢迎吐槽,共同进步