读书笔记2014第4本:程序员修炼之道-从小工到专家(第一章)

简介:

《程序员修炼之道-从小工到专家》是一本1999年写的老书,但15年之后,书中的许多道理依然没变,时不时拿出一章咀嚼一下仍有许多可回味之处。

第一章 注重实效的哲学

1、我的源码让猫给吃了
在所有的弱点中,最大的弱点就是害怕暴露弱点。程序员整天与最后期限、BUG打交道,不可能不犯错误,一个软件项目中还有许多因素根本就不是程序员所控制的,所以项目延期、BUG激增、需求不断涌现都是常有的事。出现这些问题时,勇敢地承认它,而不是寻找借口,不断尝试原型、测试、重构、自动化等手段来解决这些问题才是程序员的王道。

2、软件的熵
“宇宙中的熵总是倾向于最大化”,从多本书遇到熵这个概念了,现在慢慢有些认识了。“熵”来源于物理学的概念,是指系统中“无序”的总量,以前在研究数据压缩时也遇到了熵的概念,熵越大说明信息越杂乱,越不容易压缩。软件出现无序增长时,说明软件在腐烂,程序员的工作就是不让软件的熵变大。
“破窗户理论”在软件中要引起重视,当项目组遇到了破窗户(低劣的设计、错误的决策、糟糕的代码)而不修,很快它会迅速恶化。而反之,项目组的代码一直处于优雅可控的状态时,团队中每个人都不忍心把它弄脏。
所以说,发现了“破窗户”要马上修理,如果实在没时间处理,也要把它钉起来,加上“TODO:任务标记”,抛出未实现的异常等等,一旦有空要及时处理它们。

3、石头汤与煮青蛙
有些事情先做起来再说,请求原谅比获取许可更容易,有点先斩后奏的勇气。项目之初想好大的图景,我想是指“设计哲学”吧,不要被日后的补丁把整个系统弄得体无完肤。

4、足够好的软件
软件不可能完美,不要过分设计,画蛇添足。以前做的三维可视化想着能够跨平台而选择了Qt,但从写第一行代码起到最后项目验收,也没有把这些代码在Unix系统中编译过,无形中给项目增加了复杂度和工作量。软件是给用户使用的,要多问问用户,让他们及早使用来获得反馈。编程就像绘画,不要因为过度修饰和过于求精而毁损完好的程序。

5、你的知识资产
管理程序员的知识资产与管理金融资产非常相似,要定期投资、多元化、管理风险、低买高卖、重新评估和平衡。
1)每年至少学习一种新语言
2)阅读技术书籍(书店中醒目位置的书不一定是好书,可能只是付了钱才放在那里)
3)也要阅读非技术书籍
4)上课
5)参加本地用户组织
6)试验不同的编程环境
7)跟上潮流
8)上网
这些都需要时间,学会利用碎片时间。
最后一段提到与古鲁打交道的技巧,我不知道古鲁是什么,猜可能是Guru吧,现在不用usenet,直接google后,实在没有答案,就把问题发到stackoverflow,很快就会有专家轻易地把你的问题解决了。

6、交流
我感觉有用的是:让文档美观和电子邮件交流的注意事项。

 

第一章 注重实效的哲学
第二章 注重实效的途径
第三章 基本工具
第四章 注重实效的偏执
第五章:弯曲或折断
第六章:当你编码时
第七、八章 

本文转自申龙斌的程序人生博客园博文,原文链接:http://www.cnblogs.com/speeding/p/3657503.html,如需转载请自行联系原作者

http://www.cnblogs.com/speeding/ 

相关文章
|
缓存 监控 程序员
程序员的自我修养--读书笔记 (跑路人笔记)
程序员的自我修养--读书笔记 (跑路人笔记)
程序员的自我修养--读书笔记 (跑路人笔记)
|
程序员 数据安全/隐私保护
读书笔记_卓越程序员密码
The Pragmatic Programmers 图灵程序设计丛书 卓越程序员密码 The Developer's Code  What Real Programmers Do Author: Ka Wai Cheung 翻译: 劳佳 人民邮电出版社 第1章 引言1.1 谁是21世纪的程序员我是一个无认证但是超级有逻辑的心理学家、理疗师、机械师、外交官、商人和教师,我
1130 0
|
Web App开发 IDE 测试技术
《卓有成效的程序员》读书笔记
在今年的的ThoughtWorks China away day上,我见到了这本书的作者neal ford, 我们还有过简单的交流,并一起去爬了长城。惭愧的是当时我并没有读过他写的这本书。直到今天我拿到了这本书,并花了大半天的时间通读了一遍。
967 0
|
程序员
《我也能做CTO-程序员职业规划》读书笔记
2011年的计划到现在还没有做出来,最主要的原因是10年的方向并不清楚。趁着过年在家闲着的这段时间,把《我也能做CTO-程序员职业规划》这本书看一看,希望能对年度计划有所帮助。截止今日,已全部读完,以下是读书笔记。
989 0