程序员修炼之道

第一章 注重实效的哲学

(1)为自己承诺的项目进度负责
(2)保持代码编写整洁,设计良好,不要留着瑕疵不修,那会导致代码越来越差
(3)注意周围发生的事情
(4)编写当前足够好的软件(就可以交付给用户了)而不是能在未来达到完美的软件(没有必要,而且用户没有那么多等待时间)
(5)管理知识资产和管理金融资产一样重要
  • 定期投资(每年学习一门语言,每季度看一本技术书,上课,参加本地用户组织,订阅期刊等)
  • 多元化(多掌握不同的技术)
  • 管理风险(在保守和风险之间权衡)
  • 低买高卖(预判一个新兴技术是否会变成潮流,虽然这很困难)
  • 重新评估和平衡(适应技术的变更)
(6)了解听众,用他们感兴趣和理解的方式介绍自己的工作
  • 选择时机
  • 选择风格
  • 让文档美观
  • 让听众参与
  • 做倾听者
  • 回复他人

第二章 注重实效的途径

(1)避免无意义的重复
  • 强加的重复(这个很难避免)
  • 无意的重复
  • 无耐性的重复
  • 开发者之间的重复
(2)编写正交的系统,降低代码之间的耦合度
(3)所有在编写代码时做出的决策都不是固定的,所以代码要尽量有低的耦合度
(4)先构造端到端的可使用代码(曳光弹),再对它加以完善(增加功能)
(5)通过构造原型也可以检验一些问题,和曳光弹不同,原型用过就扔,不考虑出错和健壮性等
(6)靠近问题领域编程,甚至可以为特定的领域编写有特定语法的语言
(7)对整个项目进行估算,以避免发生意外

第三章 基本工具

(1)纯文本用于保存知识是比其他编程语言要好的,虽然它会多占存储资源,计算代价也很大
(2)多学习shell语言,对于某些工作,它比IDE更好用,IDE虽然所见即所得,但是也限制了用户能进行的操作
(3)使用合适的编辑器并熟悉它(就用sublime吧)
(4)源码控制,使用github
(5)对程序的调试要抱着解决问题的想法,而且要先假设自己当前写的代码出错了
(6)掌握一门文本操纵语言(比如perl)
(7)用代码生成器节约重复工作的时间

第四章 注重实效的偏执

(1)按合约设计(看不懂)
(2)如果程序有错,让他崩溃,而不要继续运行下去
(3)在程序中加入断言,检测并提醒那些绝不因该发生的事
(4)把异常处理用于异常情形中,和错误区分开来(比如取文件,文件应该在但不在,是异常;不知道是否在然后不在,是错误)
(5)要合理地分配及释放资源

第五章 弯曲,或折断

(1)用得墨忒耳法则使代码耦合度变低,这样子改动一个模块不会影响太多的其他模块,但是这样子也会使系统性能受损,所以要进行权衡
(2)使用元数据使程序高度可配置
(3)使用并发来减少对时间的依赖
(4)用mvc架构分离模块
(5)用一个区域协调不同的事实和因素,又使他们相互独立

第六章 当你编码时

(1)不要靠巧合编程
(2)估算算法的速率
(3)重构是为了解决(重复,非正交设计,过时的知识,性能)等问题,重构的时候要保持谨慎
(4)编程过程中要测试
(5)要理解向导(IDE提供的代码生成器),而不是仅仅会使用它

第七章 在项目开始之前

(1)建立需求文档
(2)当发现难题时,解决真正的约束,而不要被那些自己想当然的约束束缚住
(3)启动新项目时要准备好再做,但不要拖延
(4)编写程序规范就是把需求规约到程序员能够接管的程度
(5)不要成为形式方法的奴隶

第八章 注重实效的项目

(1)构建一个注重实效的团队
(2)把能自动化的工作都自动化
(3)注重测试
(4)内部文档(技术文档)和外部文档(用户手册)好好写
(5)不仅要和用户交流来达到他们的期望,还要做的比他们的期望好一点
(6)为自己写的代码署名,并由此督促自己严格要求自己
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 前言 编程不存在某种最佳解决方案,我们应该注重失效,在拥有足够广博的背景和经验基础上,以保证能在特定情况下选择好的...
    白桦叶阅读 1,957评论 0 0
  • 学习最好的方式,是有个好师傅。他根据你的不同阶段,教导你不同的技能,循序渐进;师傅不单教你练功,还会教你做人,使你...
    寻海阅读 1,931评论 5 21
  • 书很薄,只有两百来页,但是内容不少。首次阅读觉得只能领悟其中一二。翻译得挺生硬,将就着看。 整本书都是在讲注重实效...
    heaven_touch阅读 384评论 0 0
  • Care About Your Craft. 关心你的技艺 Think!About Your Work. 思考!你...
    Aprilcat阅读 389评论 0 3
  • 坐高铁动车去上班的人总会思念家乡的昨日,昨日的美好成了今日思念的痛。 银贵荡尿盆 仿佛时间并没有这么快,仿佛每天天...
    月渡长虹阅读 355评论 9 7