关于你的代码请问自己七个问题 - Bozho


质量软件取决于许多因素,但开发人员是最重要的因素之一。糟糕的软件往往是我们的错,通过问自己正确的问题,我们也可以为好的软件做出贡献。

  • 这是对的吗? - 代码是否实现了规范。如果没有明确的规范,你是否做了足够的努力来找出预期的行为。并且这种行为是以某种方式测试的 - 最好通过自动化测试,或者至少通过手动测试。
  • 完成了吗? - 它是否处理所有边缘情况,无论它们是否在规范中定义。许多边缘情况是技术性的(连接断开,内存不足,接口改变等)。
  • 它安全吗?- 它是否防止滥用,是否遵循最佳安全措施,是否验证其输入,是否防止注入等。是否经过测试证明它对这些已知攻击是安全的。安全性不仅仅是代码,但代码本身可能会带来很多漏洞。
  • 它可读性和可维护性吗?-它是否允许其他人轻松阅读,遵循并理解它?它是否有适当的注释,描述某段代码如何适应大局,它是否以小的可读单元分解代码。
  • 它是可扩展的吗? - 是否允许使用其他用例进行扩展,它是否使用允许可扩展性的适当设计模式,是否可参数化和可配置,是否允许编写新功能而不会破坏旧功能,是否覆盖了现有功能的足够百分比测试,以便改变不是“可怕的”。
  • 它有效吗?- 在高负载下运行良好,是否关心算法复杂度(没有过早优化),是否使用批处理,是否读取避免一次性在内存中加载大块数据,是否正确使用异步处理。
  • 它值得骄傲吗? - 它代表了您的经验教给您的每一个好习惯吗?并不是每一段代码都是光荣的,因为大多数代码都执行平凡的任务,但代码是值得骄傲的东西还是你希望没有人看到的东西?你可以把它放在GitHub上吗?在这里,我们还可以添加道德方面,虽然它不一定与质量有关。