有迹可循之CheckList

一. 背景

我们经常在Code Review的时候经常不知道怎么CodeReview,或者说写代码的时候怎么写出很棒的代码,更多的是靠我们的经验和感觉。通过自己积累的知识,来看代码是否符合自己心中的直觉。但是,很迷茫,因为自己也不能说出所以然。今天捡了个漏,看了别人的CheckList,觉得很棒,让自己的思考、行为有迹可循,知其然,知其所以然。所以记录下来,分享给大家。

二. Check List

2.1 如何发现代码问题

如何发现代码中现有哪些问题?主要由以下几种情况。分别是:

  • 目录设置是否合理、模块划分是否清晰、代码结构是否满足“高内聚,低耦合”?
  • 是否遵循经典的设计原则和设计思想(SOLID、LOD(六大设计原则)、DRY、KISS、YAGNI等)?
  • 设计模式是否运用得当?是否有过度设计?
  • 代码是否易扩展?如果要添加新功能,是否容易实现?
  • 代码是否可以复用?是否可以复用已有的项目代码或类库?是否有重复造轮子?
  • 代码是否易测试?单元测试是否覆盖各种正常或异常的情况?
  • 代码是否易读?是否符合编码规范(比如命名和注释是否恰当、代码风格是否一致等)?

上面的这些情况,如果认真思考,就会发现,也符合架构设计原则。如:是否有过度设计、易扩展、可复用、易测试等,不论是业务架构,或者技术架构我们都是需要考虑到这些的,知识需要从更高层次考虑。这里主要说代码问题,我们就不大量展开。

2.2 如何发现代码质量问题

针对如何发现代码质量问题,主要由以下几种情况。分别是:

  • 代码是否实现了预期的业务需求?
  • 逻辑是否正确?是否处理了各种异常情况?
  • 日志打印是否得当?是否方便debug排查问题?
  • 接口是否易用?是否支持幂等、事物?
  • 代码是否存在并发问题?是否线程安全?
  • 性能是否有优化空间?比如:是否可以异步、SQL、算法等。
  • 是否有安全漏洞?如:XSS

这些主要从性能、安全方面考虑。在满足业务的前提下,我们可以尽可能的从各方面提升代码安全性能,保证非业务功能正常、高效、

三. 总结

代码的优化,性能的提升是从细小的方面开始,也是体现攻城狮技术的一种方式。我们应该多注意细节,提升自己的思考方式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SDL是一种基于安全的软件开发方法,它将安全性融入软件开发生命周期的各个阶段。为确保遵守SDL的要求,开发团队需要建立一套SDL清单(SDL Checklist),以确保项目的所有阶段都满足标准。 SDL清单可以分为不同的部分,例如:开发、测试、部署、维护等。清单的项目通常是根据发现的软件漏洞和安全问题而制定的,以便在以后的项目中避免这些问题。 在开发阶段,SDL清单可能包括: 1. 漏洞分类:分析历史数据以发现可能出现的漏洞,并在开发过程中进行跟踪。 2. 处理漏洞:如何识别和处理漏洞,以确保软件的安全性。 3. 编码标准:制定适当的编码标准,以确保符合安全标准。 4. 代码评审:审查代码以查找漏洞,确保代码符合开发规范。 在测试阶段,SDL清单可能包括: 1. 安全测试:评估应用程序的安全性,测试它的弱点和漏洞。 2. 安全审计:审查软件的结构以查找安全漏洞。 3. 网络安全:使用网络模拟器模拟真实环境测试软件的网络安全性。 在部署和维护阶段,SDL清单可能包括: 1. 配置管理:确保软件正确安装并配置好,以降低遭受攻击的风险。 2. 紧急响应:建立紧急响应计划,并测试它以确保软件系统的应对能力。 SDL清单是软件开发安全的基础,并有助于挖掘和解决安全漏洞,令软件系统的安全性达到最高水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值