当前位置: 首页 > news >正文

代码评审CheckList

代码评审CheckList

Author: histonevon@zohomail.com

Date: 2023/10/24

  • 此博客为笔者在工作中总结的经验,适用于笔者所在的工作,具体情况还需各位自己分析
  • 以下的分类并不规范,有好的建议可以给我Email
  • 值此1024祝全世界的开发者:天天无Bug,年年有加薪
  • 原文地址:https://histonevon.top/archives/code-review-checklist

代码风格

  1. 大量使用另一开发者读的懂的注释
  2. 名字要望文生义
  3. 名字不要太长,使用公司或项目组规定或普遍认同的缩写
  4. 拒绝魔法数,擅用枚举
  5. 枚举的使用是为了便于代码阅读,绝不是简化处理可能出现的问题(比如使用枚举的错误类型,要在日志中写入可识别可定位的具体问题,例如流水号、时间、错误描述等)
  6. 拒绝未使用警告
  7. 减少代码层级
  8. 慎用循环
  9. 在无漏洞的情况下使用封装的轮子,包括可以减少机械化代码的工具(如:Lombok)
  10. 使用CheckStyle、SonarLint、ESLint等规范待提交的代码

业务处理

  1. 一个方法仅实现一个功能,且此功能可以从函数名中迅速理解
  2. 业务处理与非业务处理逻辑要分开,以便复用
  3. 时刻思考我能为别人实现哪些原子功能,如何拆分这些功能
  4. 时刻思考如果别人要使用此功能我需要怎么让别人无痛使用
  5. 时刻考虑在生产环境中如果出错要在日志中写什么才能快速定位问题
  6. 注意非空判断、超时处理、降级处理
  7. 注意处理多次操作下的情况(多次重复点击、网络问题、幂等处理)

架构守护

  1. 架构依赖及命名规范要在项目初期做到人尽皆知
  2. 使用架构设计最佳实践:如DDD、MVC、MTV、MVVM等
  3. 使用ArchUnit监控不规范的架构使用

数据处理

  1. 数据库用什么查什么
  2. 注意不同DBMS的操作特性
  3. 能用SQL就用SQL

To be continued

http://www.lryc.cn/news/204481.html

相关文章:

  • [尚硅谷React笔记]——第5章 React 路由
  • 如何去掉不够优雅的IF-ELSE
  • Python中defaultdict的使用
  • 【ccc3.8】虚拟列表
  • 【23种设计模式】单一职责原则
  • DNS入门学习:什么是TTL值?如何设置合适的TTL值?
  • ilr normalize isometric log-ratio transformation
  • el表单的简单查询方法
  • 【USRP】通信总的分支有哪些
  • 关于服务器网络代理解决方案(1024)
  • Linux下 /etc/shadow内容详解
  • Go学习第二章——变量与数据类型
  • 【剑指Offer】:循环有序列表的插入(涉及链表的知识)
  • 【Django 04】Django-DRF(ModelViewSet)
  • ubuntu命令
  • C++学习之强制类型转换
  • 在Linux中,可以使用以下命令来查看进程
  • 【算法训练-动态规划 一】【应用DP问题】零钱兑换、爬楼梯、买卖股票的最佳时机I、打家劫舍
  • 2023年中职组“网络安全”赛项云南省竞赛任务书
  • Modeling Deep Learning Accelerator Enabled GPUs
  • 《动手学深度学习 Pytorch版》 9.5 机器翻译与数据集
  • 网络入门基础
  • Towards a Rigorous Evaluation of Time-series Anomaly Detection(论文翻译)
  • 理解Python装饰器
  • VR智慧景区,为游客开启智慧旅游新时代
  • 蓝桥杯 Java 青蛙过河
  • 雷达图应该如何去绘制?
  • 1024 蓝屏漏洞攻防战(第十九课)
  • 短视频矩阵系统软件源码
  • 内网穿透的应用-如何通过TortoiseSVN+内网穿透,实现公网提交文件到内网SVN服务器?