Closed 。这个问题是基于意见的 /help/closed-questions 。目前不接受答案。
我是一名研究科学家,我们的编码方式绝对不被视为“生产代码”,即原型代码,但是什么构成了生产代码呢?
测试可扩展性、处理实时流量的能力以及测试所有边缘情况?
但还有什么,例如我还听说 Python 不像 Java 或 C# 那样是一种“生产语言”,它们可生产的标准是什么。
任何能够阐明这一点或升华它的书籍/参考文献也都很棒!
提前致谢
生产代码通常意味着它已准备好交付给客户。
最明显的错误已修复
代码结构良好并且自记录 https://en.wikipedia.org/wiki/Self-documenting_code
自动化测试已编写并具有足够的覆盖范围
在合并到主代码库之前,它已经经过了同行评审过程。
它将通过「构建系统」 https://www.cs.virginia.edu/%7Edww4s/articles/build_systems.html 可以自动检查规则,例如:编码约定、复杂性、linting、测试、编译。有时,这可能包括成功部署到测试环境。
这与非生产代码相比如何?
几乎所有开发人员都从原型/非生产代码开始,甚至使用测试驱动开发 (TDD) 的开发人员也是如此。他们的代码的目标是“让这项工作可行”,这样他们就可以开发解决问题的第一遍方法。通常,这会导致变量命名不当、函数过长(命令数量)、格式不正确,并且通常很少或根本没有测试。
一旦开发人员有了令人满意的工作解决方案,他们就会回去清理代码。他们修复拼写错误;使用设计模式 https://en.wikipedia.org/wiki/Software_design_pattern ,如果他们看到有帮助的;他们使自己的代码符合团队的编码约定和风格指南,其中一些导致了关于使用的真正激烈的争论制表符与空格 https://www.businessinsider.com/tabs-vs-spaces-from-silicon-valley-2016-5 .
最好的思考方式是:
编写代码的第一步是软件草稿,它将开发人员的想法写在页面上,直到他们有了“故事”或功能集。目标是让他们理解它。
第二遍,即为生产做好准备,正在完善它,以便其他人可以理解他们的代码。在论文写作方面,你要赋予它一个更加连贯的结构,并努力更好地向其他人传达你的意思。
那不是全部。
虽然这通常适用于编写代码,但所说的某些内容“已准备好用于生产”的一部分是包括与实际应用程序代码无关的所有步骤。
通常,这就是将代码交到客户手中或投入使用所需的所有步骤。
这可能会创建一个持续集成 https://www.agilealliance.org/glossary/continuous-integration/ and 持续部署 https://www.agilealliance.org/glossary/continuous-deployment/ 系统。设置服务器、部署组、监控系统等。
如果没有这些东西,您的组织可能不会认为您的应用程序已准备好投入生产。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)