什么是“生产代码”?

pri*_*her 2 production production-environment

我是一名研究科学家,我们的编码方式绝对不被认为是原型代码的“生产代码”,但是是什么构成了生产代码?测试可扩展性、处理实时流量的能力并测试所有边缘情况 ? 但是还有什么,例如我还听说 Python 不像 Java 或 C# 那样是一种“生产语言”,它们能够生产的标准是什么。

任何将这一点带回家或将其升华的书籍/参考资料也很棒!提前致谢

Ada*_*ess 9

生产代码通常意味着它已准备好交付给客户。

  1. 最明显的错误已修复
  2. 代码结构良好且自文档化
  3. 编写了自动化测试并具有足够的覆盖水平
  4. 在并入主代码库之前,它经过了同行评审过程。
  5. 它将通过“构建系统”可能会自动检查规则,例如:编码约定、复杂性、linting、测试、编译。有时这可能包括成功部署到测试环境。

这与非生产代码相比如何?

几乎所有开发人员都从原型/非生产代码开始,甚至使用测试驱动开发 (TDD) 的开发人员也是如此。他们的代码的目标是“让这个工作”,这样他们就可以开发出解决问题的第一遍方法。这通常会导致变量命名不当、函数过长(命令数量)、格式不正确以及通常很少或没有测试。

一旦开发人员有了令人满意的工作解决方案,他们就会返回并清理代码。他们修复拼写错误;使用设计模式,如果他们看到有帮助的;他们使他们的代码符合团队的编码约定和风格指南,其中一些导致关于使用制表符还是空格的真正激烈辩论。

最好的思考方式是:

编写代码的第一关是软件草案,它是让开发人员在页面上获得想法,直到他们设置“故事”或功能。目标是让他们理解它。

第二遍,即准备好用于生产是对其进行改进,以便其他人可以理解他们的代码。在书面写作方面,你给它一个更连贯的结构,并试图更好地将你的意思传达给其他人。

那不是全部。

虽然这通常适用于编写代码,但部分“准备好用于生产”是包括与实际应用程序代码无关的所有步骤。

通常,将代码交到客户手中或上线所需的所有步骤都是如此。

这可能是创建一个持续集成持续部署系统。设置服务器、部署组、监控系统等。

如果没有这些东西,您的应用程序可能不会被您的组织视为生产就绪。