首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生产质量代码的特点或特点是什么?

问生产质量代码的特点或特点是什么?
EN

Software Engineering用户
提问于 2013-08-09 02:54:12
回答 1查看 17.4K关注 0票数 12

这是我第一次为一个自由职业者项目(web-app)交付代码,而且,由于我没有太多的代码发送经验,我很难决定我的程序是否已经准备好部署了。

我的理解是,生产级代码必须具有以下特性:

  • 容错能力:生存异常的能力
  • 数据冗余:永远不要丢失用户数据
  • 可伸缩性:处理额外负载不需要重写应用程序。
  • 测试覆盖率:测试代码的“适当”数量

这些特性中有一些是特定于程序本身的,而另一些则是与环境相关的(无论是否使用多个集群)。然而,即使是与环境有关的特性也会影响程序的设计方式。

那么,我的问题是:使生产代码与不用于生产的代码如此不同的其他特性是什么?

为了缩小问题的范围,请只关注web应用程序。

编辑:我将试图缩小范围,要求特定于我的情况的特点。作为一个自由职业者,我负责从购买一个VPS,到配置它,编写代码,到部署它。虽然项目及其设置都有很好的文档记录,但是客户将无法维护它。这个应用程序并不复杂,但依赖于大量的外部组件,这使得如果这些组件改变/消失,它就很容易崩溃。其目标是建立一个能够在不受客户干预的情况下尽可能持久的服务。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2013-08-09 05:03:38

“生产质量代码”是指任何其他用户,谁不是你,是.

  1. 能够在没有或最少的支持下使用。如果每个操作都遇到错误,您的软件就会变成垃圾。
  2. 能够理解如何在最少的支持或文档中使用。如果您的用户不能理解如何使用您的软件,它将进入垃圾。
  3. 愿意使用,因为它增加了价值。如果你的软件增加了足够的价值,也许他们甚至会给你钱。如果它没有为你免费提供足够的价值,你的软件就会变成垃圾。

就这样吧。

有些人需要绝对的容错能力。其他人则不介意一些数据在崩溃时丢失.假设他们很少看到崩溃。没有硬性的品质或要求。而且没有客户关心测试的覆盖范围,他们关心的是上面的三个点。测试覆盖率是您可以使用的工具(其中之一),为了达到这个目的,但是很多软件,其中一些甚至很好,都是通过手工测试构建的。

无论你构建什么软件,需求都在你和你的客户之间,如果你正在为一般的消费而构建软件,那么就选择一个或几个目标群体,不要试图成为每个人的一切。在我看来,想出某种通用的模特儿似乎很傻。

而不是试图预测或猜测您的软件什么时候可以生产,为什么不与您的客户一起工作呢?给他们一个预览,但解释它还没有准备好生产。将其发布在您自己的服务器上,并要求他们使用它,四处查看并给出反馈。继续与他们合作,直到他们对你给他们的东西感到满意为止。换句话说,他们会告诉你什么时候生产准备好了。

票数 15
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/207700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档