0

0

整洁的代码摘要

聖光之護

聖光之護

发布时间:2024-12-03 18:42:01

|

521人浏览过

|

来源于dev.to

转载

整洁的代码摘要

如果代码可以被团队中的每个人轻松理解,那么代码就是干净的。干净的代码可以由原作者以外的开发人员阅读和增强。可理解性带来了可读性、可更改性、可扩展性和可维护性。
一般规则

  • 遵循标准约定。
  • 保持简单愚蠢。越简单总是越好。尽可能降低复杂性。
  • 童子军规则。让露营地比您发现时更干净。
  • 始终找到根本原因。始终寻找问题的根本原因。

设计规则

  1. 将可配置数据保持在较高水平。
  2. 更喜欢多态而不是 if/else 或 switch/case。
  3. 独立的多线程代码。
  4. 防止过度配置。
  5. 使用依赖注入。
  6. 遵循德墨忒尔法则。一个类应该只知道它的直接依赖关系。

可理解性提示

  1. 保持一致。如果你以某种方式做某事,那么所有类似的事情也以同样的方式做。
  2. 使用解释变量。
  3. 封装边界条件。边界条件很难跟踪。将它们的处理放在一个地方。
  4. 优先选择专用值对象而不是原始类型。
  5. 避免逻辑依赖。不要编写依赖于同一个类中其他内容而正确工作的方法。
  6. 避免否定条件。

命名规则

  1. 选择描述性且明确的名称。
  2. 进行有意义的区分。
  3. 使用可发音的名称。
  4. 使用可搜索的名称。
  5. 用命名常量替换幻数。
  6. 避免编码。不要附加前缀或类型信息。

函数规则

  1. 小。
  2. 做一件事。
  3. 使用描述性名称。
  4. 喜欢更少的争论。
  5. 没有副作用。
  6. 不要使用标志参数。将方法拆分为几个独立的方法,这些方法可以在不带标志的情况下从客户端调用。

评论规则

  1. 始终尝试用代码来解释自己。
  2. 不要多余。
  3. 不要添加明显的噪音。
  4. 不要使用右大括号注释。
  5. 不要注释掉代码。只需删除即可。
  6. 用作意图解释。
  7. 用作代码说明。
  8. 用作后果警告。

源代码结构

CodiumAI
CodiumAI

AI代码测试工具,在IDE中获得重要的测试建议

下载
  1. 垂直分隔概念。
  2. 相关代码应垂直密集显示。
  3. 声明接近其用法的变量。
  4. 依赖函数应该关闭。
  5. 类似的功能应该很接近。
  6. 将函数放在向下的方向。
  7. 保持简短。
  8. 不要使用水平对齐。
  9. 使用空格来关联相关事物并分离弱相关事物。
  10. 不要破坏缩进。

对象和数据结构

  1. 隐藏内部结构。
  2. 更喜欢数据结构。
  3. 避免混合结构(一半对象和一半数据)。
  4. 应该很小。
  5. 做一件事。
  6. 少量实例变量。
  7. 基类应该对其派生类一无所知。
  8. 拥有许多函数比将一些代码传递到函数中来选择行为更好。
  9. 优先选择非静态方法而不是静态方法。

测试

  1. 每个测试一个断言。
  2. 可读。
  3. 快。
  4. 独立。
  5. 可重复。

代码味道

  1. 刚性。软件很难改变。一个小小的改变会导致一连串的后续改变。
  2. 脆弱。由于一次更改,该软件在许多地方出现故障。
  3. 一动不动。您无法在其他项目中重复使用部分代码,因为涉及风险和工作量。
  4. 不必要的复杂性。
  5. 无需重复。
  6. 不透明度。代码很难理解。

我想的就这么多,但还有更多。
请阅读整本书。

感谢您阅读总结,希望对您有所帮助。

网站:
https://kaleemelahi.co

给我买一杯咖啡:
https://buymeacoffee.com/kaleemelahi

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1492

2023.10.24

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

768

2023.08.22

switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

535

2023.09.21

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

418

2024.03.13

java多态详细介绍
java多态详细介绍

本专题整合了java多态相关内容,阅读专题下面的文章了解更多详细内容。

15

2025.11.27

treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

536

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

17

2025.12.22

深入理解算法:高效算法与数据结构专题
深入理解算法:高效算法与数据结构专题

本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

24

2026.01.06

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP基础入门课程
PHP基础入门课程

共33课时 | 2万人学习

前端系列快速入门课程
前端系列快速入门课程

共4课时 | 0.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号