最近一直在读clean code 这本书。简单记录一下自己的读书笔记。
(1)function :关于函数最经典的描述就是:Functions should do one thing .They should do it well.The should do it only. 还有就是书中对代码行数的要求,每个函数控制在4-5行,试想一下如果可以将代码控制在4-5行,那这样的函数肯定不会给阅读代码的人带来很多的麻烦。书中对switch的描述我感觉堪称经典,因为switch一般是要做很多事情,故一般把switch放在factory中,这样调用一次就可以了。而不需要在其实现上调用多个switch。 函数中的参数也是一个很重要的方面,在通常的函数中,没有参数的is the best.One argument is next best.More than tree argument is triads。 通常当超过两个参数时,调用该函数时,我们通常要很小心地去匹配每一个参数,一不小心就会出错。当某个参数真的需要多个参数时,通常可以将这些参数进行一下合并,如将x,y坐标合成point。或者将多个参数抽取出来作为一个类。还有在一个函数内,一定不要有副作用,如在某个函数内去初始化某些东西,在别人调用此方法的时候可能根本不想去初始化这些东西,这就会出现bug.要牢记 Functions should do one thing .They should do it well.The should do it only. 还要牢记DRY原则,即don't repeate it yourself. 遇到try/catch时,应该将try块中的代码抽取到一个方法中,这个方法就可以做处理业务这一件事,将catch中的代码抽取到一个方法中,这样该方法就可以只做处理异常这一件事。
(2)comments: 注释通常是在我们不能够用代码描述清楚的时候才用注释来描述,好的代码注释肯定不会很多,因为注释多了会破坏代码的结构。好的注释如在资源的开头注释版权信息等,还有就是对一些难理解的代码的注释,特别要注意的是,当修改代码的同时一定要注意修改注释。这也是很多人不提倡多些注释的原因。
未完待续。
分享到:
相关推荐
读书笔记:代码整洁之道Clean Code
这个压缩包文件"clean-code-booknote"显然是一个读者对这本书的读书笔记,可能包含了书中关键概念、原则和实践的总结。虽然没有具体的标签提供额外信息,我们可以根据书的主题来深入讨论一些软件开发中的核心知识点...
读书笔记:代码整洁之道 第14章代码
java程序员刷题知乎干净的代码 - Robert C. Martin 不是一本感觉很好的书。 学习手艺: 知识(原则、模式、实践、启发式) 工作(努力工作,必须为此付出汗水,看着别人失败)。...我们永远不会摆脱代码(因为代码代表...
java二分法源码干净的代码注释 目录 第 1 章 - 干净的代码 这本书是关于好的编程。 它是关于如何编写好的代码,以及如何将坏代码转化为好的代码。...代码代表了需求的细节,细节不能被忽略或抽象。...
需要程序员经常刷题吗干净的代码笔记 免责声明 这是 Robert C. Martin 撰写的《清洁代码 - 敏捷软件Craft.io手册》一书的摘要/注释。 以下笔记是我的个人笔记,希望不要侵犯版权。 如果是,请联系我以从 github 中...
Additional cleanup and optimizations for the new Table Manager code. AcpiEnable will now fail if all of the required ACPI tables are not loaded (FADT, FACS, DSDT). BZ 477 Added #pragma pack(8/4) to ...
1. **Maven基础**:Maven的生命周期和构建过程,包括clean、compile、test、package、install和deploy等阶段,以及如何自定义构建过程。 2. **Maven配置**:pom.xml文件的结构和重要元素,如项目坐标、依赖、插件、...
包含书中的笔记 什么是干净的代码? C++ 的发明者Bjarne Stroustrup : 我喜欢我的代码优雅而高效。 逻辑应该简单明了,使错误难以隐藏,依赖最小化以简化维护,根据明确的策略完成错误处理,以及接近最佳的性能,...
**Maven项目学习笔记记录** 在软件开发领域,Maven是一个强大的项目管理和构建工具,尤其在Java开发中广泛使用。本笔记将深入探讨Maven的核心概念、主要功能以及实际应用场景,帮助你更好地理解和掌握这一重要工具...
5. **外部支持代码 (external support code)**:这部分代码是为了支持特定硬件平台,例如,PX4NuttX是用于PX4板的实时操作系统,PX4Firmware是中间件和驱动程序,uavcan是CAN总线通信协议实现,而mavlink是Mavlink...
1. 读书笔记:《人件》、《测试驱动开发》、《人月神话》等书籍的笔记总结。 其中,《人件》是一本关于软件开发和项目管理的书籍,讨论了软件开发中的各种问题和解决方案。《测试驱动开发》是一本关于测试驱动开发...
- **例句**:All employees must abide by the company's code of conduct. #### 1.2 be absent from...(缺席,不在) - **释义**:表示某人不在某个地方或场合。 - **例句**:He was absent from the meeting ...
:books: Learn ML with clean code, simplified math and illustrative visuals. As you learn, work on interesting projects and share them on ...
在Project > Preferences > Java > Code Style > Formatter中,你可以定制自己的代码格式。 3. **代码清理**:右键点击项目,选择Source > Clean Up可以清除无用的导入和转换,修复常见的编码错误。自定义清理规则...
4. Clean Code. 缺乏 1. Portability. (GNU/Linux only) 2. Debugging capabilities. 3. Completeness. (Basic features only) 主要目标是抛弃可移植性问题,并提供一个小型,快速,安全且干净的HTTP / HTTPS代理...
:speech_balloon: Pergunte-me sobre REST / Restful,SOLID,DDD,Clean Code,DevOps,SistemasDistribuídos,Micro-serviçose Cultura Nerd :face_savoring_food: De 6的其他语言C#/。Net como语言主体和...
我的云学习这是一个回购记录,用于跟踪我在软件开发(尤其是云计算)方面学到的东西。目的我决定这样做是为了让自己有更新的地方,以防万一我忘记了自己学到的东西。 另外,我决定将它公开给其他人学习,使用和重用...
app-code $ cd call-center $ ./mvnw clean package 笔记 可执行文件位于该项目的目标文件夹中。 docs / call-center-reference 在这里,您可以将整个项目文档阅读为Ascidoctor()格式,该格式允许以纯文本格式编写...