程序员的工作交接
做为一个程序员,难免会碰上因同事离职接手新系统,如果碰巧你又是这家公司的新人,在业务不熟悉的情况下,需要考虑哪些事项呢。
1.
文档资料。
虽然大多数系统文档资料匮乏,但以下资料是必须的。
应用程序部署图:应用程序(或服务)部署在那台服务器上,和其相关的服务器有哪些?比如缓存通知服务,数据库服务器等等分别部署在那台服务器上,互相之间可能有什么影响?
数据字典:总得知道数据库表和字段的意义。
系统说明文档:系统上线时间、功能介绍、运营风险、部署环境和形式、文档位置、源代码位置。
其他文档:越多越好,未必会看,但留着备用总是好的。
需求文档
设计文档
源码
软件流程图
更改文档
2.
源代码相关
源代码与线上版本是否一致?如果不一致,原因?引用的dll来源?是否有相关说明或源代码?
离职同事在讲解代码时,直接注释到源代码中。
一般来说此时讲解业务流程未必能清楚,先记录下来。
3.
应用程序是否有日志记录(主要是异常处理)。
没有日志记录的系统维护起来就是一场噩梦。曾经见过一个投诉率极高的系统,日志少且只记录成功的信息,catch块从来就是ruturn
null或者ruturn false...
最好能有离职同事提供系统常见问题的可能原因及解决方案(一般而言如果能知道问题的根本原因,就可以避免此问题,所以此时往往只能知道可能发生的问题,但具体原因未必能知道,但有个临时解决方案比如重启某个服务好歹能让自己有喘气检查问题的时间)
4.
是否有测试环境,测试数据库服务器地址?
尽可能让离职同事协助自己成功编译部署一次系统。
了解系统引用的资源位置(比如可能会发现系统引用的一些配置文件的路径只能在D:XXX目录下)。
注意测试环境和正式环境是否一致(如测试环境是.NET
Framework 3.5的,正式环境是.NET Framework 2.0的,上线会带来不必要的麻烦)。
5.
如果是Web应用程序,需要注意web服务器上其他服务和应用程序的情况。
经常出现的一种情况,一台服务器的某个服务把Socket端口耗尽,导致其他的服务或应用程序全都不能正常运行。
至于其他的离职交接单往往是走个形式,这里就略过了