您希望开发人员采取哪些不同做法?

您希望开发人员采取哪些不同做法?

作为一名开发人员,我大部分时间都在思考代码、UI、数据结构等等,但是(我勇敢地承认)我不会考虑我的应用程序对系统管理员和 DBA 的影响,直到部署应用程序的时候。

首先,我很抱歉。其次,你希望我和你打交道的其他开发人员能做些什么不同的事情?什么事情会让你的生活更轻松,减少问题,鼓励合作,减少崩溃、性能问题和配置噩梦?

答案1

  1. 从第 0 天起就思考并建立安全性。
  2. 对所有内容使用版本控制:源代码、文档、配置等。
  3. 文档、文档、文档。
  4. 使用平台原生打包,进行干净的安装和卸载
  5. 将配置数据与库和可执行文件分开
  6. 支持并行运行不同版本以进行测试和迁移
  7. 强大且可配置的日志记录
  8. 轻量、精准、安全的监控
  9. 应用程序检查点和备份
  10. 您的应用程序如何对问题做出反应:内存不足、文件系统已满、网络故障、配置文件丢失/损坏、时间偏差?
  11. 始终拥有独立的开发、测试和生产环境。有了所有免费的 VM 软件,就没有借口了!

请记住,您的应用程序可能具有比启动或关闭更多的状态。绘制状态图。大多数应用程序具有以下状态:

  • 向下
  • 初始化
  • 恢复
  • 但不接受工作
  • 等待
  • 检查点
  • 加工
  • 整理起来
  • 关闭
  • 向下

想想如果系统在每个状态期间崩溃会发生什么。系统管理员如何监视和控制状态转换?

答案2

将“用户”与 SA 区分开来。

“用户”需要知道如何使用你的软件。用户并不关心如何安装你的软件。

SA 并不关心如何使用您的软件,但需要知道如何安装软件的一些关键细节。

为每个角色分别编写文档,包括与每个角色相关的信息。

答案3

我的愿望之一是在异常和错误代码中包含适当的消息。对于没有开发过应用程序的人来说,这完全不透明JimmyNotAtHomeException: it's late!

但这样的信息Unable to find jimmy - initial manual call_mother procedure非常有帮助。

答案4

在项目早期就让我们参与进来。非常非常早,在功能规范阶段。

其他人提到必须在每台电脑上手动安装,但配置和配置更改也是如此。如果您选择在客户端存储诸如连接字符串之类的内容,并且需要定期更新它们,我们可能会想杀了你

出于同样的原因,选择能够正确集中管理和配置的技术。确保它能够与我们使用的任何中央管理工具很好地集成。

始终使用最低标准进行测试。这意味着,作为非管理员,使用最原始的操作系统、应用程序套件和常用的浏览器平台。我们不喜欢在最后一刻要求所有用户升级浏览器。

出现问题时,不要急于责怪我们。在我以前的工作中,每次应用程序出现问题,开发人员都会立即指责我们。“你们安装了新补丁,你们不会升级浏览器,你们的安全措施太严格”之类的。这会产生一种破坏性的氛围。我们其实是站在同一边的,我们想和你们一起解决问题,但在那种情况下我们做不到。

相关内容