是什么构成“生产代码”?

时间:2018-08-24 17:11:23

标签: production-environment production

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

任何将这一点归纳或升华的书籍/参考文献也将很棒! 预先感谢

1 个答案:

答案 0 :(得分:1)

生产代码通常表示已准备好将其交付给客户。

  1. 大多数明显的错误已修复
  2. 代码结构合理,self-documenting
  3. 自动测试被编写并且具有足够的覆盖范围
  4. 在纳入主要代码库之前,它已经经历了同行评审过程。
  5. 它将通过"build system",可能会自动检查规则,例如:编码约定,复杂性,棉绒,测试,编译。有时,这可能包括成功部署到测试环境。

与非生产代码相比如何?

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

一旦开发人员拥有令人满意的工作解决方案,他们将返回并清理代码。他们修复拼写错误;如果他们认为有帮助,请使用design patterns;他们使他们的代码适合团队的编码约定和样式指南,其中一些引发了关于使用tabs vs spaces的激烈辩论。

最好的考虑方式是:

编写代码的第一步是软件草稿,该文件可以使开发人员在页面上获得构想,直到他们设置了“故事”或功能。目的是让他们了解它。

第二遍,即准备将其投入生产正在完善它,以便其他人可以理解他们的代码。用纸上写的术语来说,您将为它提供一个更连贯的结构,并尝试将其含义更好地传达给其他人。

还不是全部。

虽然这通常适用于编写代码,但说“已准备好生产”的部分内容包括实际应用程序代码未涉及的所有步骤。

通常,这是将代码移交给客户现场或现场工作所需的所有步骤。

这可能是在创建Continuous IntegrationContinuous Deployment系统。设置服务器,部署组,监视系统等。

如果没有这些内容,您的组织可能就不认为您的应用程序已经可以生产。