什么是“生产代码”? [关闭]

2024-05-14

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

任何能够阐明这一点或升华它的书籍/参考文献也都很棒! 提前致谢


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

  1. 最明显的错误已修复
  2. 代码结构良好并且自记录 https://en.wikipedia.org/wiki/Self-documenting_code
  3. 自动化测试已编写并具有足够的覆盖范围
  4. 在合并到主代码库之前,它已经经过了同行评审过程。
  5. 它将通过「构建系统」 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(使用前将#替换为@)

什么是“生产代码”? [关闭] 的相关文章

  • Webpack mode三种模式配置说明(production,development,none)

    我们都知道webpack的配置文件 webpack config js 文件中 mode 表示webpack当前的环境以及对不同的环境的配置 虽然官方文档写明了三种不同的模块的配置 xff0c 但是没有具体说明是什么意思 xff0c 我就注
  • Android 应用程序的 Beta 测试人员如何在同一设备上同时安装生产应用程序和 Beta 版应用程序?

    我需要我的 Beta 测试人员拥有 Beta 应用程序来进行测试 但同时他们必须拥有生产应用程序才能在生产环境中运行 问题是 如果他们成为 Beta 测试人员 似乎只能从 Google Play 获取 Beta 应用程序 有没有一种方法可以
  • VB6 中的运行时错误堆栈跟踪或位置

    我维护一个用 VB6 编写的旧应用程序 在客户端环境中 它会引发运行时错误 我无法在调试器下重现该错误 有什么方法可以获取堆栈跟踪或错误位置吗 我的意思是 不要在代码中放置跟踪语句 例如here或添加错误处理程序以记录每个过程 例如here
  • Django 项目中根据环境处理不同配置/设置的最佳方法

    DEBUG False 是否意味着应用程序正在生产环境中运行 至少 我偶尔会看到这样的情况在互联网上 https stackoverflow com a 1292019 52499 但我要放入什么settings py然后 好的 我可以将本
  • 如何在生产中的 Webpack 项目中使用 CDN 中的库

    我想用react min js来自生产中的 CDN 例如https unpkg com 电子邮件受保护 dist react min js https unpkg com react 15 3 1 dist react min js 让 W
  • 仅通过客户端使用 Firestore 及其功能是否安全? [复制]

    这个问题在这里已经有答案了 如果我在应用程序中使用 prod 环境变量并为 Firestore 设置服务器端规则 我的应用程序是否可以完全安全地执行 CRUD 和身份验证 我问这个问题是因为我一直在观看相当著名的 YouTube 内容创建者
  • java:在生产环境中使用 printStackTrace

    我将在生产服务器下部署我们的 Web 应用程序 在生产环境中将 printStackTrace 包含在 catch 块下是否可以接受 因为catch块下的日志无助于了解错误的确切原因 所以请告诉我在 catch 块下使用 printStac
  • Canary 与 A/B 发布策略

    我正在研究不同类型的发布策略 并且对 Canary 策略和 A B 策略感到困惑 两者似乎很相似 我在 Canary 上读到的所有内容都是 允许通过向一小群人发布新版本来测试部署 A B 上是 A B 测试策略针对特定的客户群 那么它们之间
  • Rails 应用程序维护不妨碍访问者

    我不希望访问者在我更新后端时登陆我的网站时看到 Phusion Passenger 错误消息 那么我该如何解决这个问题呢 我的部署过程从一开始就存在缺陷吗 或者我错过了什么 这是我的部署过程 所以你明白了 将新更新提交到 git 存储库并推
  • 如何在生产模式下启动延迟作业工人

    我正在关注Railscast 延迟作业 http railscasts com episodes 171 delayed job 一切在我的机器上运行得很好 如何在生产模式下启动delayed job工人 我在用延迟工作宝石 2 1 4 h
  • 推送到生产服务器时 ASP.NET MVC 错误 500

    我正在 C 项目中开发 ASP NET MVC 4 该项目在我的本地开发服务器上运行良好 但是 当我将其推送到生产服务器时 特定页面会出现 500 内部服务器错误 但是 我收到的错误并不比 处理您的请求时发生错误 更有帮助 如何强制 ASP
  • 在生产模式下出现“开发”错误

    我遇到了一个奇怪的问题 我在生产模式下运行服务器 一切都很好 但我不断收到错误消息 就像它们在开发模式下出现一样 例如 我得到的不是 404 页面 而是 没有路由与 method gt get 匹配 foo 异常通知程序 也停止发送异常 我
  • GAE/J:开发和生产环境

    GAE J 开发环境和生产环境之间的主要区别是什么 生产时应复检哪些内容 我应该期待什么样的数据存储差异 开发环境是单线程的 无请求超时 No 爆炸指数 http code google com appengine docs python
  • 如何在 Tomcat 中通过 JNDI 配置 JSF 2.0 应用程序的项目阶段

    一直在努力寻找一种配置 Tomcat 7 0 11 的方法 以便我的 Web 应用程序可以使用 Tomcat 配置中的项目阶段设置 到目前为止 没有运气 这个想法是在 Tomcat 服务器 主机 应用程序范围内设置此属性 但不在 web x
  • 带有 ActionCable 的 Rails 5 应用程序可以部署在 Windows 上吗?

    我有一个 Rails 5 应用程序 我计划将其部署在 Linux 上 但由于我们需要一些访问非常特定的仅限 Windows 的软件 因此我需要将其部署在 Windows Server 2012 R2 上 我的软件堆栈 或组合 应该是 Ngi
  • 烧瓶生产开发模式

    我用flask开发了一个应用程序 我想将其发布用于生产 但我不知道如何在生产和开发环境 数据库和代码 之间进行分离 您有文档来帮助我或代码吗 我在config py文件中指定了两个环境但我不知道如何使用 class DevelopmentC
  • 在生产构建 Angular 4 中访问环境变量

    我想部署一个带有可配置 api url 的 Angular 应用程序的生产版本 供用户测试 我使用environment ts 但在生产构建之后 我不知道如何配置变量 需要采取什么方法 environment ts 文件包含构建时配置 构建
  • Node.js - 部署 Node.js 应用程序时是否需要在生产服务器上重新安装所有模块

    我已经开发了我的第一个 Node js pp 目前 它只是放在我的笔记本电脑上 在开发过程中我必须安装一些模块 npm install socket io npm install email protected cdn cgi l emai
  • 在生产环境中使用 CoffeeScript [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Flutter 在编译发布时是否会删除调试模式代码?

    我想知道将密码直接放在 Dart 代码中是否安全 如下所示 Flutter在编译发布时会删除代码吗 当然 我想确保代码无法被反编译 以便可以提取用户名和密码 bool get isInDebugMode bool inDebugMode f

随机推荐

  • 将 OpenXML 文档嵌入到另一个 OpenXml 文档中

    我需要在一个文件夹中收集多个 docx 文件 并将它们 链接 到一个将显示给用户的文档中 现在我已经读过了布莱恩 琼斯的文章 http blogs msdn com brian jones archive 2009 06 30 embedd
  • 获取数组变量的地址是什么意思?

    今天我读到了一段让我很困惑的 C 代码片段 include
  • 在java程序中使用c++ Dll

    我正在尝试使用System LoadLibrary 使用我用 C 编写的一个简单的 dll UseDllInJava java import com sun jna Library import com sun jna Native imp
  • django 中的身份验证方法返回 None

    你好 我在 django 中做了一个简单的注册和登录页面 当想要登录时 登录视图中的身份验证方法不返回任何内容 我的身份验证应用程序 模型 py from django db import models from django contri
  • 如何在Android模拟器中隐藏应用程序图标?

    我有一个应用程序在启动完成后自动启动 但应用程序图标显示在android模拟器中 现在我想向用户隐藏该图标 这样用户就无法知道应用程序已启动 并且他们无法启动该应用程序手动申请 在您的 AndroidManifest xml 文件中 您可能
  • Unicode NFC 规范化可以增加字符串的长度吗?

    如果我将 Unicode 规范化形式 C 应用于字符串 字符串中的代码点数量是否会增加 是的 应用 NFC 标准化后 有些代码点会扩展为多个代码点 内基础多语种飞机 http en wikipedia org wiki Basic Mult
  • 如何让 Streamlit 每 5 秒重新加载一次?

    我必须每 5 秒重新加载 Streamlit 图表 以便在 XLSX 报告中可视化新数据 如何实现这一目标 import streamlit as st import pandas as pd import os mainDir os pa
  • ViewModel 的列表在操作中为 null

    我正在开发我的第一个 ASP NET MVC 3 应用程序 我有一个如下所示的视图 model IceCream ViewModels Note NotesViewModel using Html BeginForm Html Valida
  • CakePHP - 获取上次运行的查询

    我想获取 CakePHP 运行的最后一个查询 我无法在 core php 中打开调试 也无法在本地运行代码 我需要一种方法来获取最后一个 sql 查询并将其记录到错误日志中而不影响实时站点 该查询失败但正在运行 像这样的事情会很棒 this
  • 将事件添加到 Google Maps API InfoWindow 内的元素

    我想在 Google Maps API v3 InfoWindow 内放置一个带有输入字段和提交按钮的表单 提交后 我想调用一个函数 该函数使用输入字段中输入的地址启动方向服务 这是我的代码 我目前只测试方向事件是否被触发 我已经编写了完整
  • 我在 android studio 中使用 kotlin 时出现错误

    为什么会出现这个错误 09 12 16 36 31 502 1886 1886 com getloction nourmedhat smartgate getlocation E AndroidRuntime 致命异常 main 进程 co
  • jQuery 选择器定位具有 id AND class 的元素不起作用

    我有以下事件处理函数 jQuery document on click button submitb function e alert jQuery 包含在 html 文档中 但是 如果我点击 div class submitb Go di
  • WPF 中的屏幕分辨率问题?

    我将在 WPF 中使用以下代码检测分辨率 double height System Windows SystemParameters PrimaryScreenHeight double width System Windows Syste
  • Windows 10 Mobile (10.0.14393) 地理围栏后台任务 (LocationTrigger)

    自从10 0 14393 周年纪念更新 LocationTrigger似乎不起作用 我有 Windows Phone 8 1 应用程序 也适用于 UWP 应用程序 输出到的便携式库Windows Runtime Component图书馆 w
  • wix 3 安装程序:未解析的绑定时变量!(bind.fileVersion.Name.exe)

    我正在尝试使用 Wix3 中的绑定 bind fileVersion 即 3 11 1 由于某些原因 我收到以下错误消息 未解析的绑定时变量 bind fileVersion TestWix3 exe 我的目标是填写 产品 ID 行 特别是
  • 三.js环境光意想不到的效果

    在下面的代码中 我渲染了一些立方体并使用点光源和环境光照亮它们 然而 当设置为 0xffffff 时 AmbientLight 会将侧面的颜色更改为白色 无论其指定的颜色如何 奇怪的是 点光源按预期工作 我怎样才能使环境光表现得像点光 因为
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • iOS:我如何知道某个属性是否符合 KVO 标准?

    In the 键值观察编程指南 https developer apple com library archive documentation Cocoa Conceptual KeyValueObserving KeyValueObser
  • Chrome JavaScript 日期构造函数获取 1884 年之前的日期似乎是错误的

    如果我将 1 1 1753 午夜 的 unix 毫秒时间戳值 6847786800000 传递给 Chrome 中的 JavaScript Date 构造函数 则 Chrome 给出的日期看起来非常奇怪 当我使用带有七个参数的 Date 构
  • 什么是“生产代码”? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我是一名研究科学家 我们的编码方式绝对不被视为 生产代码 即原型代码 但是什么构成了生产代码呢 测试可扩展性 处理实时流量的能力以及测试所有边缘