部署友好型代码

3

写部署友好的代码是否被认为是程序员的良好品德?

如果是,那么编码时需要考虑哪些一般性因素,以便稍后部署相同的代码不会变成噩梦?


1
这将取决于您是将应用程序部署给少数内部用户、网站还是跨平台商业产品。更具体的说明可能会得到更好的答案。 - RossFabricant
5个回答

6

部署的最大改进是尽量减少手动干预和手动步骤。如果您必须输入配置值或手动浏览配置屏幕,则部署中会出现错误。


2
如果您的代码需要“回家”,请确保用户理解为什么需要这样做,并且可以在必要时关闭该功能。如果您正在编写可在企业网络上部署的现成软件,则可能只是一个大问题。
另外,最好不要让您的程序依赖于太多环境变量才能正常运行。为了解决这个问题,我喜欢定义一个目录结构,其中包括我的bin、etc和其他文件夹,以便一切都可以自包含。

0
整个部署过程应该自动化,以最小化人为错误。软件不应受环境影响。任何新的部署都应该很容易地回滚,以防出现任何问题。在编码时,您不应该硬编码配置值,因为每个环境可能不同。配置应该以这样的方式进行,以便根据环境轻松自动化。

0

客户端还是服务器?

一般来说,部署友好意味着你在完成小故事或工作单元的同时完成和验证部署。这来自于持续的 QA 而不是风格。如果你等到最后一刻才构建和验证部署,即使代码最干净也永远不会友好。

其他所有部署,无论是桌面还是服务器,都可以从早期验证中得出结论。如果您能够早期解决那些依赖关系的交付问题,那么您可以添加所有古怪的依赖项。一些非常方便的桌面部署机制会导致沙箱/部分可信应用程序。最好在早期发现您不能做某些事情(例如将日志写入 c:\log.txt),而不是在晚期发现您的客户无法安装。


-2

我不太确定你所说的“deployment friendly code”是什么意思。你要部署什么?你所说的“部署”是指什么?

如果你的意思是你的代码应该在不同的计算机之间可移植,那么最好的做法就是尽量减少对外部库的不必要依赖(根据给定的“不必要”的定义),并且很好地记录你所依赖的库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接