1999年发版 现在都有n多版了
最近项目进展比较慢,在想可能有新的思想指导我少走弯路,能提高开发效率,可能是习惯或者是其他什么的,抱着这个心态看
注重实效的程序员,简言之就是高效的程序员,特征
早期的采纳者,、快速改编者。各种体验,尝试。
好奇
批判的思考者
有现实感
多才多艺
经典:
关心你的技艺
思考你的工作
1.在一个项目的总体结构中,有个性和技艺的位置,一百年后,我们的工程也许很老,就像中世纪大教堂建造者所使用的技术,在今天看来很古老,但是我们的技艺却仍将受到尊重
“kaizen”是日语中的术语,意思是“改善”,表达的是持续的做出许多小改进的概念,每天为提炼你所拥有的技能而工作,为新的工具增加到你的列表中而工作。
2.在所有的弱点中,最大的弱点就是害怕暴露弱点。
3.提供各种选择,不要找借口。你想问别人就想象个人,你问他,你会怎么说?这个问题蠢不蠢?你去搜了么?
4.破窗效应,保证代码的完整,能正常运行,有问题就修复,否则有个玻璃破了,不及时补就会长时间不补,越来越大
5.跳出思维框架,不要温水煮青蛙,只订着你的工作
6.投资(无论是财富,技能,生活上融汇贯通)
- 定投(不断的学习)
- 多维度(不要把鸡蛋都放在一个篮子中,技术总监总是会很多技术,只会一种技术的会被淘汰)
- 管理风险(寻找新的不被看好,但未来很有前途的技术,跟股票一样,低买高卖)
- 重新评估和平衡(评估现有的技术)
7.批判的分析你读的和听到的(大多的原则,法则,定律的是可信的)
8.交流是非常重要的。
- 知道你想要什么
- 了解的你观众
- 选择时机(别人忙着呢 就别问了)
- 选择风格
- 让文档美观
- 让听众参与
- 做倾听者
- 回复他人
9.重复的危害,系统的单一、无歧义、权威(DRY)
- 强加的重复 可以使用过滤器过掉,代码、文档
- 无意的重复 一个线段的实体类 长度,起点,终点 长度可以用终点-起点表示
- 无耐性的重复 一个ajax来回复制(我指的是不停的为了跟项目中的东西一样),来来回回的时间都浪费了,自己写一个
10.正交性(耦合性)正交,是指几何中两条线成直角的线,相互独立不依赖对方
编码:解耦、避免使用全局变量、避免写相似的函数
11.不断的更新你的工具
12.调试,
开始再现bug
如果你向他人求救你会怎么说?
使你的数可视化,就像js一样,你选中某个参数就会出现值,跟测试沟通,看问题是不是你没有兼顾的地方,跟踪,观察程序和数据结构
坏变量, 你可以看你想要的参数有没有返回
消除过程,第三方接口调试时,一般报的错都是开发中项目的错,你必须先消除自己项目中的bug
根据问题找线索如果你看见了马蹄印要想起马,而不是斑马。
13.自动化 p108