首页 > 其他分享 >《代码整洁之道》阅读笔记(一)

《代码整洁之道》阅读笔记(一)

时间:2023-11-09 14:33:20浏览次数:40  
标签:重构 原则 编码 代码 笔记 之道 开发者 一部分 整洁

第一部分: 代码质量的重要性与良好的编码风格

第一部分深入探讨了代码整洁之道的核心思想:代码质量和良好的编码风格。这一部分为我提供了一个深刻的认识,即写出高质量的代码不仅是开发者的技能,更是一种责任。作者强调了代码是一种沟通工具,不仅是为计算机执行而编写的。这一部分详细讨论了有意义的命名、注释的价值、如何避免重复代码以及如何使函数更短小而精炼。我深受启发,认识到良好的编码风格有助于代码的可读性和可维护性,从而为整个开发过程和团队协作提供了更多的价值。

阅读这一部分后,我开始在我的编码实践中更加注意命名变量、函数和类,以确保它们具有描述性和清晰的名称。我还学会了更积极地进行代码审查,以确保团队成员共同遵循良好的编码实践。这一部分的教训不仅适用于初学者,也能够帮助有经验的开发者提高他们的编码技能。

第二部分: 单一职责原则与模块化编程

第二部分将焦点放在了单一职责原则上,这是一项重要的编程原则。单一职责原则要求每个模块、类或函数都应该有一个单一的责任,这有助于实现代码的模块化和可维护性。这一部分通过具体的案例和示例深入解释了如何应用这一原则。我了解到,通过将代码拆分成小的、独立的组件,可以更容易理解、测试和维护代码。

在我的日常工作中,我开始更加关注单一职责原则,并将其视为设计和编码的关键原则之一。这有助于我更清晰地定义类和函数的职责,并降低了代码的复杂性。我发现模块化编程使得代码更易于扩展,也更容易适应变化和新需求。这一部分的内容对于那些希望提高代码结构和可维护性的开发者来说,是一个非常宝贵的资源。

第三部分: 重构与持续改进

第三部分深入探讨了重构的概念,将其视为不断改进现有代码的关键实践。这一部分提出了一个非常现实的观点,即完美的代码是不切实际的,但通过不断重构,我们可以逐渐改进代码质量。它提供了大量实际的重构技巧和示例,以帮助开发者提高他们的代码。

我学到了重构的过程不仅可以改善代码质量,还可以提高开发效率。它有助于减少重复代码、提高性能和可读性,还有助于应对新的需求。这一部分强调了不断改进和精益求精的精神,这对于在快速变化的软件开发环境中取得成功至关重要。

在阅读这一部分后,我开始将重构作为日常编码工作的一部分,将其视为不断提高代码质量和可维护性的手段。我认识到,通过重构,可以使代码更加健壮,减少潜在的错误,也更易于扩展和维护。

总结而言,《代码整洁之道》这本书为我提供了有关代码质量、编码风格、单一职责原则和重构的深刻见解。它不仅提供了理论知识,还通过实际示例和经验分享来帮助我在日常开发工作中应用这些原则。这本书不仅适用于新手,也适用于有经验的开发者,因为它提供了普遍适用的最佳实践和原则,可以提高代码质量,提高团队协作,以及增加项目的成功机会。我强烈推荐这本书,希望更多的开发者能够受益于其中的知识。

标签:重构,原则,编码,代码,笔记,之道,开发者,一部分,整洁
From: https://www.cnblogs.com/mine-my/p/17819665.html

相关文章

  • apktool使用笔记-与系统不兼容
    apk重新打包后,新的android版本手机报"与系统不兼容"尝试更新apktool.jar,2.6更新到2.9,还是一样的情况网上搜索下相关的问题,可能原因是签名方式,以及对齐问题下载android-sdk,获取相关工具,这种功能很少,只能从sdk获取从sdk,jre复制相关文件过来,其中一个bat......
  • MySQL 学习笔记--引擎
    在缺省情况下,MySQL支持三个引擎:ISAM、MyISAM和HEAP。另外两种类型InnoDB和Berkley(BDB),也常常可以使用。ISAMISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存......
  • CXF学习笔记(2)-HelloWorld!-客户端调用
    上一节中已经成功的发布了一个服务端webservice,这一部分将默认客户端调用webservice这里我们重新建立了一个新的工程CXF-Client,把上一节中列举的jar包都搞过来即可,调用方式采用了和RMI类似的机制,即客户端直接服务器端提供的服务接口(interface),CXF通过运行时代理生成远程服务......
  • CXF学习笔记(1)-HelloWorld!-发布webservice
    1.apache网站下载CXF http://cxf.apache.org/download.html 最新版本2.4.12.创建一个java工程,将以下jar包复制到工程的classpath下 所有的jar包都可以在${CXF_HOME}\lib目录中找到3.定义服务接口HelloWorldService因为这个接口将会被我们暴露为webservice,所以给该......
  • MySQL 学习笔记--架构
    1、MySQL服务器逻辑架构图:第一层:该服务并不是MySQL所独有的,大多数基于网络的客户端/服务器的工具或者服务都有的类似的架构。比如连接处理、授权认证、安全等等。第二层:MySQL的核心服务功能,包括查询解析、分析、优化、缓存以及所有的内置函数(日期、时间、加密),所有跨存引擎的功能都......
  • kafka第三天学习笔记
    在第三天学习Kafka中,你可能会遇到一些关于Kafka的核心概念和特性的深入讨论。以下是一些可能的学习点:Kafka的设计理念:Kafka的设计理念是“发布-订阅”模型,允许消费者根据其需求从多个生产者那里接收消息。这种模型使得Kafka能够以高吞吐量和可扩展的方式处理实时数据流。Ka......
  • 阅读笔记:《软件需求分析》笔记一
    软件需求分析是软件开发过程中至关重要的一环,它为项目的成功奠定了坚实的基础。通过对软件需求分析的学习和思考,我深刻地认识到了其在软件开发中的重要性以及如何有效地进行需求分析。首先,我认为软件需求分析是软件工程的关键步骤之一,因为它直接关系到软件项目的成败。在需求分析......
  • 打工笔记--------------------------------c#处理ZIP文件帮助类
    一,代码usingSystem;usingSystem.IO;usingICSharpCode.SharpZipLib.Checksums;usingICSharpCode.SharpZipLib.Zip;namespaceHelper{publicclassZipHelper{publicstaticboolZipDirectory(stringfolderToZip,ZipOutputStreamzipStream,str......
  • 打工笔记------------------------记录C#调用Windows API函数
    一,windowsAPI助手类usingNLog;usingSystem;usingSystem.Collections.Generic;usingSystem.Drawing;usingSystem.Linq;usingSystem.Runtime.InteropServices;usingSystem.Text;usingSystem.Threading;namespaceGateway{publicclassWindowAPI{......
  • Pytorch学习笔记-(xiaotudui)
    常用的包importtorchimporttorchvisionfromtorchimportnnfromtorch.utils.dataimportDataLoaderfromtorch.nnimportConv2d,MaxPool2d,Flatten,Linear,Sequentialfromtorch.utils.tensorboardimportSummaryWriterPytorchpytorch安装准备环境安装Anco......