《程序员修炼之道-从小工到专家》读书笔记



注重实效的程序员有哪些特征

·早起的改造者/快速的改编者

·好奇

·批判的思考者

·有现实感

·多才多艺

 

提示1:Care About Your Craft

关心你的技艺

 

提示2:Think!About Your Work

思考!你的工作

 

第一章、注重实效的哲学

1、我的源码让猫给吃了

注重实效的程序员对他或她自己的职业生涯负责,并且不害怕承认无知和错误。

负责

责任是你主动承担的东西,你承诺确保某件事情正确完成,但你不一定能直接控制事情的每一个方面。出了尽你所能之外,你必须分析风险是否超出了你的控制,对于不可能做到的事情或是风险太大的事情,你有权不去为之负责。你必须基于你自己的道德准则和判断来做出决定。

 

提示3:Provide Options,Don’t MakeLame Excuses

提供各种选择, 不要找蹩脚的借口

 

2、软件的熵

提示4:Don’t Live with BrokenWindows

不要容忍破窗户

不要留着“破窗户”(低劣的设计、错误的决策、或是糟糕的代码)不修。发现一个就修一个。如果没有足够的时间进行适当的修理,就用木板把它钉起来。采取某种行动防止进一步的破坏,并说明情势在你的控制之下。

 

3、石头汤与煮青蛙

设计出你可以合理要求的东西,好好开发它。一旦完成,就拿给大家看,让他们大吃一惊

 

提示5 Be a Catalyst for Change

做变化的催化剂

 

提示6 Remenber the Big Picture

记住大图景

不要像青蛙一样。留心大图景。要持续不不断地观察周围发生的事情,而不只是你自己在做的事情。

 

4、足够好的软件

提示7:Make Quality a RequerementsIssue

使质量成为需求问题

 

5、你的知识资产

提示8:Invest Regularly in YourKnowledge Portfolio

定期为你的知识资产投资

 

目标

·每年至少学习一种新语言

·每季度阅读一本技术书籍

·也要阅读非技术书籍

·上课

·参加本地用户组织

·实验不同的环境

·跟上潮流

·上网

 

提示9:Critically Analyze What YouRead and Hear

批判地分析你读到的和写到的

 

6、交流

提示10:It’s Both What You Say and the Way You Say it

你说什么和你怎么说同样重要

 

·知道你想要说什么

·了解你的听众

·选择时机

·选择风格

·让文档美观

·让观众参与

·做倾听者

·回复他人

 

第二章 注重实效的途径

7 重复的危害

系统中的每一项知识都必须具有单一、无歧义、权威的表示

提示11: DRY dont repeat yourself

不要重复你自己

 

提示12:make it easy to reuse

让复用变得容易

 

8 正交性

提示13:Eliminate Effects BetweenUnrelated Things

消除无关事物之间的影响

 

如果你编写正交的系统,好处:提高生产率与降低风险。

设计

对于正交设计,有一种简单的测试方法。一旦设计好组件,问问你自己:如果我显著地改变某个特定功能背后的需求,有多少个模块会受影响,在正交系统中,答案应该是“一个”

编码

让你的代码保持解耦 不会没有必要地向其他模块暴露任何事情、也不依赖其他模块的实现的模块

避免使用全局数据

避免编写相似的函数

 

9可撤销性

提示14:there are no final decisions

不存在最终决策

 

要把决策视为是写在沙滩上的,而不要把它们刻在石头上,大浪随时可能到来,把他们抹去

 

10曳光弹

提示15:Use Tracer Bullets to Findthe Target

用曳光弹找到目标

 

曳光弹告诉你击中的是什么

曳光代码

构建从未构建过的东西时,与真正的子弹在相同的未知环境下工作,快速飞向目标得到即时反馈。

为了在代码中获得同样的效果,我们要找到某种东西,让我们能快速、直观和可重复地从需求出发,满足最终系统的各个方面的要求。

曳光开发与项目永不会结束的理念是一致的:总有改动需要完成,总有功能需要增加。

 

11 原型与便签

提示16:Prototype to Learn

为了学习而制作原型

 

构建原型的原因:为了分析和揭示风险,并以大大降低的代价、为修正提供机会。

如果发现自己处在不能放弃细节的环境中,就要问自己是否真的在构造原型,获取曳光弹方法更适合这种情况。

原型制作是一种学习经验,其价值并不在于所产生的代码,而在于所学到的经验教训。

怎样使用原型?

构建原型时,可以忽略:正确性、完整性、健壮性、风格。

 

12 领域语言

提示17:Program Close to the Problemdomain <

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值