这是我第一次为一个自由职业者项目(web-app)交付代码,而且,由于我没有太多的代码发送经验,我很难决定我的程序是否已经准备好部署了。
我的理解是,生产级代码必须具有以下特性:
这些特性中有一些是特定于程序本身的,而另一些则是与环境相关的(无论是否使用多个集群)。然而,即使是与环境有关的特性也会影响程序的设计方式。
那么,我的问题是:使生产代码与不用于生产的代码如此不同的其他特性是什么?
为了缩小问题的范围,请只关注web应用程序。
编辑:我将试图缩小范围,要求特定于我的情况的特点。作为一个自由职业者,我负责从购买一个VPS,到配置它,编写代码,到部署它。虽然项目及其设置都有很好的文档记录,但是客户将无法维护它。这个应用程序并不复杂,但依赖于大量的外部组件,这使得如果这些组件改变/消失,它就很容易崩溃。其目标是建立一个能够在不受客户干预的情况下尽可能持久的服务。
发布于 2013-08-09 05:03:38
“生产质量代码”是指任何其他用户,谁不是你,是.
就这样吧。
有些人需要绝对的容错能力。其他人则不介意一些数据在崩溃时丢失.假设他们很少看到崩溃。没有硬性的品质或要求。而且没有客户关心测试的覆盖范围,他们关心的是上面的三个点。测试覆盖率是您可以使用的工具(其中之一),为了达到这个目的,但是很多软件,其中一些甚至很好,都是通过手工测试构建的。
无论你构建什么软件,需求都在你和你的客户之间,如果你正在为一般的消费而构建软件,那么就选择一个或几个目标群体,不要试图成为每个人的一切。在我看来,想出某种通用的模特儿似乎很傻。
而不是试图预测或猜测您的软件什么时候可以生产,为什么不与您的客户一起工作呢?给他们一个预览,但解释它还没有准备好生产。将其发布在您自己的服务器上,并要求他们使用它,四处查看并给出反馈。继续与他们合作,直到他们对你给他们的东西感到满意为止。换句话说,他们会告诉你什么时候生产准备好了。
https://softwareengineering.stackexchange.com/questions/207700
复制相似问题