前言
jeff atwood于2004年创办coding horror博客(http://www.codinghorror.com),记录其在软件开发经历中的所思所想、点点滴滴。时至今日,该博客每天都有近10万人次的访问量,读者纷纷参与评论,各种观点与智慧在那里不断激情碰撞。
《高效能程序员的修炼》是coding horror博客中精华文章的集合。全书分为12章,涉及迈入职业门槛、高效能编程、应聘和招聘、团队协作、高效工作环境、用户体验、安全问题、测试、社区管理、营销广告、人生思考等话题。作者选取的话题,无一不是程序员职业生涯中的痛点。其中,“程序员的八种境界”、“程序员的《权利法案》”、“结交混世魔猴”等文章早已脍炙人口,在程序员圈子里广为流传。
《高效能程序员的修炼》的写作风格风趣幽默,且充满理解和关怀,适合从新手到老手的各个阶段的程序员阅读,也适合即将成为程序员的计算机和相关专业的学生阅读。《高效能程序员的修炼》能够帮助读者更多地关注程序员职业生涯中的人性和人文因素,成长为真正的高效能的程序员。
程序员的八种境界:不朽的程序员、成功的程序员、知名程序员、胜任程序员、普通程序员、业余程序员、低调程序员、烂程序员。
培养写作习惯:培养自己习作的习惯,无论是在写小说,回答别人的问题,写博客,写一段注释还是写技术白皮书,写作和沟通一直是程序员欠缺的东西,选择了程序员就要在这个方面有所提高。
磨刀不误砍柴工:阅读编程相关的博客或书籍。
一路向前冲:加快产品迭代,目前看起来他不怎么完美,只需以更快的速度去改进,这个产品才能变的更好。
多任务:对于低优先级的任务先放一边,多个项目会干扰效率。
永远都是你的错:写代码时候出现的任何问题,那一定都是你的错。
多维度评价你的代码:代码简介度、功能的完整性、执行速度、编码所花费的时间、健壮性、灵活性。
避免写注释:代码不需要注释就能被看懂才是健壮的代码,只有必须的注释才写上。
学会读源代码:不管文档上怎么说,源代码才是最终的事实。
向橡皮鸭求助:向自己提问题,促使自己诊断自己的问题。
通过电梯测试:在60秒内清晰解释自己在做什么,以及为什么人们会在意他们正在做的时期。
性能致胜:性能是一个特性,让其变成一种骄傲。
会议:会议不应该超过一小时、会议有清晰的目标声明、开会之前做好功课、会议变成可选、会议结束概括待办事项。
程序员高效工作场所:拥有两个显示器、快速电脑、自己选择鼠标和键盘、舒适的椅子、快速接入互联网、安静的工作环境。
设计时把用户放在心上:细节决定成败、用户界面代表了软件。
第一版做的不好照样发布:即使第一版做的不好也发布出去,收集用户反馈。
加强代码测试:避免失败的最好办法就是不断失败。
代码评审:软件交付原作者以外的其他帮忙检查缺陷。
加大测试力度:用大量的数据去测试功能。
单元测试作用:证明代码能真正解决问题、获得底层模块的回归测试工具、不破坏享有功能持续改进设计、降低bug修复成本、比代码审查效果更好、消除工作障碍、催生更好的设计、比直接写代码效率高