`

clean code 读书笔记

阅读更多
最近一直在读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: 注释通常是在我们不能够用代码描述清楚的时候才用注释来描述,好的代码注释肯定不会很多,因为注释多了会破坏代码的结构。好的注释如在资源的开头注释版权信息等,还有就是对一些难理解的代码的注释,特别要注意的是,当修改代码的同时一定要注意修改注释。这也是很多人不提倡多些注释的原因。   未完待续。
1
0
分享到:
评论

相关推荐

    读书笔记:代码整洁之道Clean Code.zip

    读书笔记:代码整洁之道Clean Code

    clean-code-booknote:记录clean-code的读书笔记

    这个压缩包文件"clean-code-booknote"显然是一个读者对这本书的读书笔记,可能包含了书中关键概念、原则和实践的总结。虽然没有具体的标签提供额外信息,我们可以根据书的主题来深入讨论一些软件开发中的核心知识点...

    java程序员刷题知乎-cleancode-flash:做重要笔记

    java程序员刷题知乎干净的代码 - Robert C. Martin 不是一本感觉很好的书。 学习手艺: 知识(原则、模式、实践、启发式) 工作(努力工作,必须为此付出汗水,看着别人失败)。...我们永远不会摆脱代码(因为代码代表...

    java二分法源码-Clean-Code-Notes:我的CleanCode笔记

    java二分法源码干净的代码注释 目录 第 1 章 - 干净的代码 这本书是关于好的编程。 它是关于如何编写好的代码,以及如何将坏代码转化为好的代码。...代码代表了需求的细节,细节不能被忽略或抽象。...

    程序员需要经常刷题吗-cleancode-notes:干净的代码-RobertC.Martin的敏捷软件Craft.io手册-笔记

    需要程序员经常刷题吗干净的代码笔记 免责声明 这是 Robert C. Martin 撰写的《清洁代码 - 敏捷软件Craft.io手册》一书的摘要/注释。 以下笔记是我的个人笔记,希望不要侵犯版权。 如果是,请联系我以从 github 中...

    acpi控制笔记本风扇转速

    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 ...

    mavenCM-2023C-开发笔记

    1. **Maven基础**:Maven的生命周期和构建过程,包括clean、compile、test、package、install和deploy等阶段,以及如何自定义构建过程。 2. **Maven配置**:pom.xml文件的结构和重要元素,如项目坐标、依赖、插件、...

    worldwindjava源码-CleancodeNotes:这个repo包含来自RobertC.Martin的书CleanCode:AHan

    包含书中的笔记 什么是干净的代码? C++ 的发明者Bjarne Stroustrup : 我喜欢我的代码优雅而高效。 逻辑应该简单明了,使错误难以隐藏,依赖最小化以简化维护,根据明确的策略完成错误处理,以及接近最佳的性能,...

    maven项目学习笔记记录

    **Maven项目学习笔记记录** 在软件开发领域,Maven是一个强大的项目管理和构建工具,尤其在Java开发中广泛使用。本笔记将深入探讨Maven的核心概念、主要功能以及实际应用场景,帮助你更好地理解和掌握这一重要工具...

    APM源码笔记

    5. **外部支持代码 (external support code)**:这部分代码是为了支持特定硬件平台,例如,PX4NuttX是用于PX4板的实时操作系统,PX4Firmware是中间件和驱动程序,uavcan是CAN总线通信协议实现,而mavlink是Mavlink...

    734条高频词组笔记

    - **例句**:All employees must abide by the company's code of conduct. #### 1.2 be absent from...(缺席,不在) - **释义**:表示某人不在某个地方或场合。 - **例句**:He was absent from the meeting ...

    :books: Made With ML:机器学习项目(代码/博客文章等)分享社区-python

    :books: Learn ML with clean code, simplified math and illustrative visuals. As you learn, work on interesting projects and share them on ...

    软件使用技巧总结(eclipse、matlab、vs、SQL)个人笔记(精心整理)大学生必备

    在Project > Preferences > Java > Code Style > Formatter中,你可以定制自己的代码格式。 3. **代码清理**:右键点击项目,选择Source > Clean Up可以清除无用的导入和转换,修复常见的编码错误。自定义清理规则...

    linux-http-proxy:用于GNULinux的快速,轻量级的httphttps代理服务器

    4. Clean Code. 缺乏 1. Portability. (GNU/Linux only) 2. Debugging capabilities. 3. Completeness. (Basic features only) 主要目标是抛弃可移植性问题,并提供一个小型,快速,安全且干净的HTTP / HTTPS代理...

    jcmdsbr:包含GitHub个人资料文档的存储库

    :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语言主体和...

    云学习:我对云的个人笔记和笔记

    我的云学习这是一个回购记录,用于跟踪我在软件开发(尤其是云计算)方面学到的东西。目的我决定这样做是为了让自己有更新的地方,以防万一我忘记了自己学到的东西。 另外,我决定将它公开给其他人学习,使用和重用...

    c调用java源码-csoftz-almundo-call-center:关于CallCenterDispatcher的Java挑战练习的源代

    app-code $ cd call-center $ ./mvnw clean package 笔记 可执行文件位于该项目的目标文件夹中。 docs / call-center-reference 在这里,您可以将整个项目文档阅读为Ascidoctor()格式,该格式允许以纯文本格式编写...

    Golang学习笔记(一):简介

    ### Golang学习笔记(一):简介 #### Go语言最主要的特性 Go语言,又称为Golang,是由Google设计的一种开源编程语言。它以其简洁、高效的特点,在开发领域迅速获得了广泛的关注与应用。以下是Go语言的一些核心...

Global site tag (gtag.js) - Google Analytics