警惕“最佳实践”的过度,每个最佳实践都有其适用背景。

2025-06-10

警惕“最佳实践”的过度

每个最佳实践都有其适用背景。

与土木工程等其他更为严格和规范的学科不同,软件工程没有一套执法部门需要遵循的规则。

如果您不进行 TDD(测试驱动设计),甚至不为您的代码编写测试,您就不会入狱。

如果您不遵循任何敏捷方法,您的系统也可以正常工作。

您可以在裸机 Linux 机器上部署您的下一个应用程序,而不是在云提供商上设置 Kubernetes 来自动扩展您的 pod,并且没有人会抱怨性能等。

我们都读过《整洁代码》、《整洁架构》以及软件开发领域的其他一些“圣经”,它们告诉我们什么是“最佳实践”。

我们都花了几个小时学习 Scrum 或类似的方法来管理软件项目,而不是老式的级联式项目管理,因为那是“最”有效的。

我们召开了大量的会议,仅在 Scrum 中就有:冲刺计划、每日 scrum、冲刺评审和冲刺回顾。

有时候我会想,我是不是靠参加会议来谋生,而不是开发软件。

那么,这些抱怨到底是为了什么呢?

这并不是盲目遵循所谓的“最佳实践”。

我使用 X 是因为 Google 使用 X,我使用 Y 是因为 Facebook 使用它。

这是做或使用任何事情的愚蠢理由。

如果您没有与很多人一起工作,在一个大型项目中,有数千个同时存在的用户,那么遵循所有的“最佳实践”可能是一个缺点而不是优势。

如果您独自工作,并且只有少数用户的小型应用程序,则可以直接提交到 GitHub 存储库中的主分支。

如果您的项目不是数据库密集型的,或者只需要处理很少的数据,那么您可以使用直接存储在文件系统中的嵌入式 H2 数据库,它会运行得非常好。

对于某些项目和团队来说,遵循现有的每一种先进架构和人员管理流程都是有意义的,但对于只有三个人的初创公司来说,情况却完全不是这样。

阅读有关最新技术的文章并认为“每个人都在使用它”很容易被误导,但事实上并非如此。

作为一名开发人员,FOMO(害怕错过)是真实存在的,你应该意识到这一点。

以理性的方式根据正确的情况选择正确的技术。

以合理的方式为正确的环境选择正确的项目方法。

您不必完全放弃 Scrum,您可以对其进行调整,只进行其中 2 次会议,而不是全部会议。

您可以生成一个便宜的 Linux VM 并手动部署您的应用程序,而不必花费数小时来设置 CI/CD,而只需 2 分钟即可手动​​完成。

如果您的应用程序屏幕是具有一个文本字段和一个按钮的简单功能(例如 Google 的主页),那么 React/Angular/Vue 就太过分了。

学习所有这些东西,阅读书籍,但要运用你的最佳判断来适应“最佳实践”,以利用对你的项目和团队有意义的东西,而不仅仅是因为别人说你应该使用它。

您还可以订阅我的时事通讯

鏂囩珷鏉ユ簮锛�https://dev.to/renanmouraf/beware-of-excess-of-best-practices-5bed
PREV
学习编程是非线性的
NEXT
ReactJS 实时加密仪表盘教程