我不遵循的五个软件最佳实践

💡 原文中文,约4300字,阅读约需11分钟。
📝

内容提要

作者分享了五个不遵循的软件最佳实践,强调个人项目与企业项目的区别。主要观点包括:直接在主分支上修改代码、逐步引入新技术、实现70%代码覆盖率的自动化测试、使用CI/CD流程,以及不使用覆盖率工具。作者认为开发的目的是探索创造力,而非单纯追求盈利。

🎯

关键要点

  • 个人项目与企业项目的目的不同,激励机制也不同。

  • 在主分支上直接修改代码可以避免多人冲突,适合个人项目。

  • 逐步引入新技术可以保持项目的稳定性,避免引入过多缺陷。

  • 实现70%代码覆盖率的自动化测试是合理的,但不必追求100%覆盖率。

  • 使用CI/CD流程可以使更改小而可控,但在小型项目中可能需要手动处理。

  • 不使用覆盖率工具,凭空估算代码覆盖率也是一种选择,尤其在个人项目中。

🔎

延伸解读

个人项目与企业项目的区别

个人项目与企业项目在目标和激励机制上存在显著差异。个人项目更注重自我满足和创造力,而企业项目则侧重于盈利和可持续性。这种差异使得一些企业最佳实践在个人项目中并不适用,开发者可以根据自身需求灵活调整开发流程。

逐步引入新技术的必要性

在软件开发中,逐步引入新技术可以有效降低风险。开发者应避免一次性引入大量新技术,以免造成系统不稳定和缺陷增加。通过逐步更新,开发者可以在保持项目稳定性的同时,逐渐适应新技术带来的变化。

代码覆盖率的合理期望

实现70%的代码覆盖率被认为是一个合理的目标,而追求100%覆盖率可能导致代码复杂化和开发效率下降。开发者应根据项目的实际情况,灵活选择测试覆盖的范围,以确保在保证质量的同时,节省开发时间。

延伸问答

为什么作者认为在主分支上直接修改代码适合个人项目?

因为在个人项目中,开发者是唯一的维护者,没有多人同时修改的冲突,因此可以直接在主分支上进行修改。

逐步引入新技术有什么好处?

逐步引入新技术可以保持项目的稳定性,避免引入过多缺陷,同时减少对开发者工作流程的干扰。

作者对代码覆盖率的看法是什么?

作者认为实现70%的代码覆盖率是合理的,但不必追求100%的覆盖率,因为这可能导致代码复杂化。

CI/CD流程在小型项目中如何应用?

在小型项目中,CI/CD可以通过持续集成小规模更改来实现,但可能需要手动处理持续部署的过程。

为什么作者选择不使用覆盖率工具?

作者认为在个人项目中,可以凭空估算代码覆盖率,而不必依赖覆盖率工具,这样更灵活。

作者认为开发软件的主要目的是什么?

作者认为开发的目的是探索创造力,而非单纯追求盈利,这与企业项目的目标不同。

🏷️

标签

➡️

继续阅读