《代码整洁之道:CleanCode》学习总结

2024-05-26 00:08

本文主要是介绍《代码整洁之道:CleanCode》学习总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

  • 概括总结:
  1. 整洁代码:

培养整洁代码的意识,经常维护项目中的模块保持整洁。整洁的代码增强可维护性,并且能提高工作效率。

     2.有意义的命名:

名副其实的命名,变量名,函数,类名等。命名也有意义且能让人读懂。错误示例:名字没有含义,a1 a2。

     3.函数:

函数要单一,并且只做一件事。这样不容易出错,并且好复用,可维护性强大。

     4.注释:

尽量不写注释,注释不要有废话,注释最后的作用是提供有用的信息。

    5.格式:

保持项目中的风格格式统一,便于团队开发,并且阅读代码方便,也有美感。

    6.对象和数据结构:

对象和数据结构是两个概念,写代码的时候,尽量拆分开,不要混在一起。

    7.错误处理:

错误处理要调用方便,不要和逻辑业务耦合在一起。

 

  • 开发中的实践运用:

(1)整洁代码:

  1. 整洁代码是美观的,并且可读性强
  2. 整洁的代码,意义清晰,直观,可维护性强
  3. 没有重复的代码,尽量短小的实体
  4. 经常维护代码的整洁,碰到修改的模块,要顺手修改
  5. 培养代码整洁的意识

 

2)有意义的命名:

  1. 变量名不要太相近,容易混乱。
  1. A1a2的区分没有意义,并且容易乱,要起个排列的名字进行区分。
  2. 变量名不要是废话,比如叫变量,叫class,叫list,要有意义。
  1. 起名要方便读和认,不要起很奇怪的名字。
  2. 起名字要有特殊性,不要太大众,不便于搜索。
  3. 遵循驼峰命名法
  4. 全局变量和局部变量,又要命名区分。比如全局带m。
  5. 有些特定的名字,就不要来命名变量了,比如i,j等。
  6. 类名要短小,不要太长,函数名要是动词or动词 短语。

 

 

3)函数:

  1. 函数要短小精悍,越短越好。
  2. 封装的逻辑只处理单一,不要混杂在一起。
  3. Switch使用要避免重复。
  4. 函数要有个好名字,参见命名(1)。
  5. 参数要少,很多参数可以封装成对象传递。
  6. 尽量避免,一元函数,一般处理event,需要有返回值。
  7. 参数尽量不要为boolean,把两个处理封装成两个函数。
  8. 函数为动词命名。
  9. 抽离trycatch代码块,函数返回错误码。
  10. 相同作用的代码,抽成共用函数。

 

4)注释:

  1. 少些注释,良好的命名,就不太需要写注释。
  2. 做好判断逻辑的函数封装,可以少写注释。
  3. 注释是来提供信息(约定俗成的信息等)。
  4. 阐述逻辑。
  5. TODO注释,添加工作列表。
  6. 不要写多余无用的注释。

 

5)格式:

  1. 代码从上到下排列,变量,函数等。
  2. 相同属性的代码之间,可以关系更紧密,没有空行,比如变量。
  3. 项目格式化文件,敲代码的时候,多用,保持风格一致,缩进,排列。

 

6)对象和数据结构:

  1. getset封装的是本地,具体实现是私有不可见的。
  2. 面向对象和面向过程,看情况选择,并不是某种就特别好。
  3. 迪米特Demeter法则,模块操作对象,不需要了解对象内的数据实现。
  4. 避免火车失事写法,即:一连串的函数调用。
  5. 避免混杂,对象和数据结构要分开。

 

7)错误处理(强固又整洁的代码):

  1. 根据返回码对应处理相应的情况,不要和逻辑掺杂在一起。
  2. 可能会抛出异常的代码,需要使用try-Catch-finally捕捉。
  3. 使用不可控异常处理,可控异常处理维护成本高。
  4. 在异常可能发生的代码,添加日志记录操作行为,便于修改问题。
  5. 记录异常时,可以直接记录错误类型,不用根据不同的错误类型打印日志,减少无用代码。
  6. 异常处理需要添加开关,可以选择处理异常,也可以不处理。
  7. 异常处理,不要返回null。增加了判空和后续调用的工作量。
  8. 参数不要传null,容易空异常崩溃,还要添加判空处理。

这篇关于《代码整洁之道:CleanCode》学习总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003004

相关文章

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义