浅谈这本书
如果让我做一个排名,我想这本书,可以在我的*程序员书单系列排名第10-15位,这是一本讲编程思想的书,里面的很多观念,我觉得在现在来看,依然是非常正确的指导意见,无论你是初级开发,还是架构专家,如果你没读过这本书,我都建议你仔仔细细,认认真真的读一遍,我相信,如果你真的细细领略书里的思想,它一定对你的职业生涯的发展有着大大的帮助。无论你使用的是哪种语言,无论你的经验多么丰富,我相信阅读之后,你一定有所收获。
如果你读过这本书,我相信,你一定和我一样,在日常的编程中,将这些好的理念如同春风化作雨一般,将它化为自己的一把利剑。
我的部分笔记
1.Care about your Craft
只在乎如何漂亮地开发出软件
2.Think!About Your Work
注重实效的程序员当你在做某件事情的时候会思考自己在做什么
3.Provide Options,Don’t make Lame Excuses
比之抱怨,不如提供解决办法(如果真的要抱怨的话不要对人抱怨)ps:试试小黄鸭解压法
4.Don’t Live with Broken Windows
编写整洁,设计良好,并且很优雅的代码
谁也不想成为第一个弄脏东西的人
5.Be a Catalyst for Change
石头汤的故事,请求原谅比获取许可更容易,做变化的催化剂
6.Remember the Big Picture
留心大图景,要持续不断地观察周围发生的事情,而不只是自己在做的事情
7.Make Quality a Requirements Issue
多听听用户的反馈,他们将引领你想出更好的方案
(编程就像是绘画一样,不要因为过度修饰和过于求精而毁损完好的程序,让你的代码凭借着自己的质量站一会儿,它也许不完美,但,不用担心,它不可能完美)
8.Invest Regularly in Your Knowledge Portfolio
<1>每年至少学习一种新语言
<2>每季度阅读一本技术书籍
<3>也要阅读非技术书籍
<4>上课
<5>参加本地用户组织
<6>实验不同的环境
<7>跟上潮流&上网
(持续投入十分重要&阅读和理解需要时间,时间已经很短缺,你需要预先规划,让自己在空闲时总有书可读)
9.Critically Analyze What You Read and Hear
警惕唯一的答案
(问问题的一个简单的诀窍:
1.明确你的问题,简单具体
2.小心得体组织问题,记住你是在请求帮助,而不是要求对方强行回答
3.组织好问题后,先停下来自己找找答案
4.提出问题后,静待解答,可能需要好几天
10.It’s Both What You Say and the Way You Say It
交流越有效,你就越有影响力
11.DRY-Don’t repeat yourself
强加的重复:开发者觉得无可选择/环境要求
无意的重复:开发者没有意识到他们在重复信息
无耐性的重复:开发者偷懒,因为重复比较容易
开发者之间的重复:团队之间的重复
(一定要阅读他人的源码与文档)
12.Make it Easy to Reuse
如果不进行复用,你们就会有重复知识的风险
13.Eliminate Effects Between Unrelated Things
正交的系统有两个好处:提高生产率与降低风险(系统也更容易测试)
(正交性的一个有趣的变体是面向方面编程AOP)
<1>让你的代码保持解耦
<2>避免使用全局数据
<3>避免编写相似的函数(可以使用策略模式)
<4>养成不断地批判对待自己的代码的习惯
14.There Are No Final Decisions
要把决策视为是写在沙滩上的,而不要把他们刻在石头上,大浪可能随时到来把他们抹去(如果一些代码需要大量地把某些语句分散到整个代码中,而你又无法把一些需求抹去,你可以把它们放在元数据中,让你的代码学会’摇滚‘)
15.Use Tracer Bullets to Find the Target
曳光弹行之有效,因为它们与真正的子弹在相同的环境相同的约束下工作,它们快速飞向目标,所以枪手可以得到及时的反馈,从实践的角度看,这样的解决方案也更便宜
<1>用户能够及早看到能工作的东西
<2>开发者构建了一个他们能在其中工作的结构
<3>你有了一个集成平台
<4>你将能感受到工作进展