一本关于写代码的文集大杂烩, 涵盖编码, 结对编程, 代码质量等诸多方面, 也是在各个领域的老鸟给初哥的一些个人的经验总结。看这本书的人, 也各取所需吧, 没必要全看。
另外,译者的序写的不错^_^
============================我是读书笔记的分割线======================
每当你迫不得已欠下技术债务,就要立刻记录到任务卡上或者登记到问题跟踪系统里,以保证不被遗忘
如果在下一轮跌代里偿还了这笔债务,其代价就会减小到最小,如果总是不还,利息就会增加。
到底用户想要什么,与其整天闷头猜想,还不如花上一小时去仔细观察。
逐渐增加小改动胜过一次大改动
个人好恶和利己主义不能掺杂到开发中来。如果代码风格或结构不符合你个人喜好,你也不能把这当成代码重构的正当理由
新技术不是重构的正当理由。除非成本效益分析结果表明这种新的语言和框架能在功能性,可维护性或生产力上有显著的提升,否则最好是弃之不用。
有一项研究表明我们把太多的编程时间用在了浏览和阅读代码上——用在找到要修改的地方的时间超过了实际写代码的时间。
代码看上去应该像诗一样。
代码审查不仅仅是简单的更正代码错误,其目的应该是共享知识,建立统一的编码指导标准。
促使审核成功的最大因素可能是让这一过程充满乐趣。审查是由人来做的,如果审查会议是痛苦或者无趣,那很难激发人的积极性。
如果你需要内嵌一段代码,那就把它封装成一个函数。
函数要简短,专注于单一的功能,古老的24行依然有用。
代码的每一个单元,从一个代码块到一个库,都应该有一个窄的接口。
为了保护类的不变性,setter方法应该少用。它更倾向于允许破坏那些管理对象状态的不变量。
关于编码有一个古老的谚语说:“如果写的很艰难,那么要读懂也很艰难。”
行内注释告诉下一个开发人员如何修复或扩展这些代码。
注释应该包含了那些代码没有说清,没能说到的东西。
你需要对你的成长负责。
如果找不到学习的对象就换一个地方。
学习某样东西的一个很好的办法就是不断教授和谈论它。当人们准备来听你讲述,问你问题的时候,会极大激发你的学习积极性。
每年学习一门新的语言,至少要学习一门新技术或工具。
如果不知道它的内部实现或者看过文档,这根本看不出有什么含义,那么这个方法就是为了方便实现者设计的,而不是为了调用者。
有针对性的练习就是为了为了通过执行一项任务来提高自身的能力,关乎技巧和技术。有针对性的练习意味着需要重复。
有偿开发的首要目标是完成一个产品,而有针对性的练习的首要目标是为了提高你 水平。
把所有会为同一个原因而更改的东西汇集在一起,把所有会为不同理由而更改的东西独立开来。
分享到:
相关推荐
程序员面试宝典+读书笔记
自己总结的《高效程序员的45个习惯》,把书中自己感觉较好的段落摘抄下来,稍稍加了点自己的想法,挺好的...
程序员面试宝典笔记总结,对于复习基础知识有很大帮主
《程序员的数学》阅读笔记
《简明银行会计——程序员视角》读书笔记思维导图
《程序员面试宝典》的阅读笔记 主要是个人总结,归纳,搜集 声明:本人不搞C++,所以涉及C++的内容较少
《C 程序员面试算法宝典》读书笔记模板x.pptx
perl 学习笔记,希望能对大家有帮助 perl 文档 速查手册
这本书有多经典就不再赘述了。由于是图片书,所以有点大。不过效果还可以,上面有一些我个人的笔记,相信对阅读有些帮助。建议阅读3遍以上,多多益善。可以作为程序员终身发展的陪伴读物,良友啊。
《程序员的自我修养--链接、装载与库》 阅读笔记,主要包括各章的内容摘要。
个人读书笔记,学习共享,希望每个苦恼于代码一坨坨混乱不堪的程序员都能学习. * 整洁代码的意义? 可读性,可维护性。 * 如何写出整洁代码? 1.只做一件事 2.不重复 3.有表达力 * 整洁代码的态度要求,要遵守...
VNote 的特性包括: 使用 语法高亮 而不是实时预览来提供舒适的编辑体验; 编辑时 实时原地预览图片链接; 编辑时,代码块支持语法高亮;...支持 Mermaid 流程图,MathJax 数学...支持自定义编辑与阅读 CSS 样式;
一个更懂程序员和Markdown的笔记! 直观的笔记管理 只有纯文本,不依赖数据库 独立的笔记本 ,无限层级的文件夹 ,开放的笔记 支持标签和附件 浏览和编辑外部文件 数据自主掌控 所有文件都在本地存储 一个...
这是国外一位程序员写的CLR Via C#读书笔记,写得挺好,拿出来跟大家分享
”由此可见记笔记的重要性对于程序员而言,编程技术浩如烟海,新技术又层出不穷,对知识消化吸收并不易遗忘的最佳方式就是记录学习笔记。而程序员又是一个特别的群体,喜欢使用互联网的方式记录笔记,所以,本章我们带领...
本人正在读O'reilly的SQL Hacks这本书,深深...如果你的基础较好的话,应该只用看这个读书笔记就能够掌握这些技巧。配套的sql文件是基于MySQL的,如果你能够在读笔记的同时常识一下这些sql语句,相信你能够进步得更快。
1. 第一章针对Java程序员的UML概述 1. UML(统一建模语言)的三个层次: 1. 概念层(Conceptual) 接近人类自然语言 有歧义 无严格的格式 2. 规格说明层(Specification) 3. 实现层(Implementation) 规格...
此读书笔记将《软件架构设计》中重要的观点提取出来,进行再一次的归纳和整理。写这篇笔记的目的一是为了加强将来再次阅读此书时的针对性;其次也是为自己平时的项目架构实践提供一份足够简明的指导提纲。1.软件架构...
本书有多经典就不再赘述了。由于是图片书,所以有点大。不过效果还可以,上面有一些我个人的笔记,相信对阅读有些帮助。建议阅读3遍以上,多多益善。可以作为程序员终身发展的陪伴读物,良友啊。