程序员修炼之道阅读笔记整理.doc

程序员修炼之道阅读笔记整理.doc

ID:53803989

大小:83.50 KB

页数:11页

时间:2020-04-07

程序员修炼之道阅读笔记整理.doc_第1页
程序员修炼之道阅读笔记整理.doc_第2页
程序员修炼之道阅读笔记整理.doc_第3页
程序员修炼之道阅读笔记整理.doc_第4页
程序员修炼之道阅读笔记整理.doc_第5页
资源描述:

《程序员修炼之道阅读笔记整理.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第一章注重实效的哲学1、注重实效的程序员的特征:是他们处理问题、寻求解决方案时的态度、风格、哲学。·设法把问题放在更大的语境中,设法注意更大的图景·对所做的每件事情负责·接受变化,拥抱变化·理解工作的语境·广泛的知识和经验基础·交流1、我的源码让猫给吃了·在所有弱点中,最大的弱点就是害怕暴露弱点。·为自己的行为负责·对我们的无知和错误,应该诚实、坦率·预期到超过自己能力范围的风险,可以不必承担,若没有预期到已经发生,则必须承担·提供各种选择,不要找蹩脚的接口(ProvideOptions,Don'tMakeLameExcuses.)·

2、任何谈话可以先预演一遍,预知一下结果·不要说做不到,要想有什么解决方案2、软件的熵·熵:来自物理学的概念,指某个系统中的“无序”的总量·促生软件腐烂的一个重要因素:开发项目时的心理(文化)·不要容忍破窗户(Don'tLiveWithBrokenWindows)3、石头汤与煮青蛙·当遇到请求许可“拖延和漠然”,设计出可以合理要求的东西·做变化的催化剂(BeaCatalystforChange)·记住大图景(RemembertheBigPicture)·留心大图景,持续不断地观察周围发生的事情,而不只是你自己在做的事情·当你设法催生变化时

3、,你能否确定是在做石头汤还是青蛙汤?决策是主观还是客观的?4、足够好的软件·欲求更好,常把好事变糟(李尔王)·影响我们控制质量的因素:时间、技术、急躁11/11·缺乏职业素养的做法:1)无视用户的需求,一味的给程序增加新特性,或一次一次的润饰代码2)许诺不可能兑现的时间标度(timescale)3)为赶上最后期限而消减基本的工程内容·制作系统的范围和质量应该作为系统需求的一部分规定下来·使质量称为需求问题(MakeQualityaRequirementsIssue)·给用户的东西,要及早让他们使用,他们的反馈常常会吧你引向更好的最终解

4、决方案·如果不懂得何时止步,绘画会迷失在绘制中(不要因为过度修饰和过于求精而毁损完好的程序)5、你的知识资产·知识上的投资总能得到最好的回报(本杰明。富兰克林)·知识和经验是有时效的资产(expiringasset)·定期为你的知识资产投资(InvestRegularlyinYourKnowledgePorfolio)·目标(持续投入):1)每年至少学习一种新语言(拓宽思维)2)每季度阅读一本技术书籍(拓宽范围)3)也要阅读非技术书籍(了解人)4)上课5)参加本地用户组织6)实验不同的环境7)跟上潮流(了解新技术)8)上网·批判的思考

5、你读到的和听到的(让你能理解负责的答案)6、交流·我相信,被打量比被忽略要好·讲清楚自己想要说的内容(可以写出大纲、撰写文档)·了解你的听众(了解他们需要什么)·选择时机·选择风格(让你的风格适合你的听众)·让文档美观(你的主意很重要,让他们以美观的方式传递到你的听众)·让听众参与·做倾听者·回复他人·你说什么和你怎么说同样重要·11/11电子邮件交流:1)发送前进行校对2)检查拼写3)让格式保持简单4)让在你知道对方能够阅读rick-text或HTML格式的邮件的情况下使用这些格式,纯文本是通用的5)设法让引文减少至最少第二章注重实

6、效的途径7、重复的危害·可靠的开发软件、并让我们的开发更易于理解和维护的唯一途径,是尊徐我们称之为DRY的原则:系统中的每一项知识都必须具有单一、无歧义、权威的表示。·DRY-Don'tRepeatYourself.<不要重复你自己>·在两个或更多地方表达同一事物时,若果你改变其中一处,你必须记得改变其他各处·重复范畴:1)强加的重复:开发者觉得他们无可选择------环境似乎要求重复2)无意的重复:开发者没有意识到他们在重复信息·开发过程中,会因为性能原因而选择违反DRY原则,这经常会发生在需要缓存数据,以避免重复昂贵的操作。诀窍是

7、:使影响局部化。3)无耐性的重复:开发者偷懒,他们重复,因为似乎那样更容易·时间压力:驱使最优秀的人走捷径的力量·一种最容易检测和处理的重复形式,此时需要你接受训练,并愿意为避免以后的痛苦而预先花一些时间4)开发者之间的重复:同一团队(或不同团队)的几个人重复了同样的信息·最难检测和处理的重复·处理此问题的最佳方式:鼓励开发者相互进行主动的交流(论坛,交流组)·MakeItEasytoReuse(让复用变得容易)8、正交性·如果两条直线相交成直角,他们就是正交,比如坐标轴。用向量的术语说,这两条直线互不影响。沿着某一条直线移动,你投影

8、到另一条直线的位置不变。·非正交系统的改变与控制更复杂·EliminateEffectsBetweenUnrelatedThings(消除无关事物之间的影响)·我们要设计自足的组件:独立,具有单一、良好的定义的目的和Co

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。