全部
常见问题
产品动态
精选推荐

每日PR保持代码整洁自查表

管理 管理 编辑 删除

如今,公司对软件工程师(主要是高级工程师)最迫切的需求之一,是以迭代和增量的方式提供高质量的代码审查。

这意味着在每次 PR 审查中,开发人员被要求反复提高即将合并代码的质量。

在这篇文章中,我将尝试指出开发人员在进行重构或审查时应牢记的基本原则。

让我们逐个主题来看这些点:

#1. 命名

  • 有明确意图的命名:方法或变量名应该在查看代码实现之前就能解释其意图。
  • 类名应该是名词或名词短语。
  • 方法名应该是动词。
  • 为每个概念选择一个词:get、retrieve、fetch 是相似的,选择一个统一使用它。
  • 使用计算机科学术语:例如,AccountAdapter 对程序员来说意味着适配器模式,如果没有相关的计算机科学名称,则使用面向问题的名称。
  • 使用可搜索的名称:在 IDE 中搜索特定短语会更容易。

#2. 函数

  • 函数应该小:函数越大,调试起来就越困难。
  • 块和缩进应该整洁:用好 IDE 的代码格式化。
  • 只做一件事:一个函数意味着一个任务。
  • 每个函数一个抽象层次:函数应该足够小,以便在一个抽象层次的范围内实现。
  • 从上到下阅读代码:应该应用逐步下降规则。嵌套函数应该在母函数之后,以便有像阅读书籍一样的感觉。
  • 使用较少的输入:超过 3 个输入则很糟糕,这可能意味着函数在做不止一件事。
  • 没有副作用:函数应该只做一件事,并且应该正确地做这件事,而不对其他状态产生不良影响。
  • 没有重复:将频繁使用的代码片段集中在一个地方。

#3. 注释

  • 尽量用代码表达意图:你的代码应该是自解释的,以至于读者不需要额外的注释。
  • 好的注释:
  • 坏的注释:

#4. 格式化

  • 垂直格式化:类的大小最多 200-300 行代码。
  • 报纸隐喻:类应该像报纸文章一样。
  • 垂直开放性:类中变量/方法之间的垂直距离。
  • 变量声明:类变量在构造函数之前,局部变量靠近其使用位置。
  • 依赖的方法应该靠近其实现:以便轻松地从一个代码行跳到另一个代码行。
  • 水平密度:避免需要滚动的长行。
  • 团队规则:团队的一致性比干净的代码更重要。

#5. 对象和数据结构

  • 数据/对象反对称性:
  • 迪米特法则:模块不应该知道它操作的对象的内部。
  • 数据传输对象:具有公共变量且没有函数的类使得数据传输更容易,但可能存在安全问题。

#6. 错误处理

  • 尽可能使用异常:而不是返回 null 或错误标志,抛出异常。
  • 在异常中提供上下文:尝试制定良好的异常处理策略。
  • 不要返回 null,不要传递 null。

#7. 单元测试

  • TDD 法则:
  • 保持测试干净和可读。
  • 每个测试/每个主题/每个概念一个断言。
  • 测试应该是 F.I.R.S.T.:

#8. 类

  • 封装:利用面向对象编程。
  • 单一职责原则:每个类应该有一个单一的责任。
  • 内聚性:函数操作的变量越多,它的内聚性就越强。
  • 应使用极简主义方法。
请登录后查看

Lily jar 最后编辑于2024-12-11 17:20:15

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
78
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服