我正在接管一个商业网站的开发.该网站由另一位程序员开发了两年多.这主要是一个人的工作(维护和扩展网站).当其他程序员向我展示系统时,我将有2-3天的过渡期.但据我所知,文件很少.一切都在代码中(这是一种记录).以下是我计划到目前为止要问的内容:
解释系统中最复杂的元素
整体架构的描述
支持工具的说明(IDE设置,单元测试,部署机制)
他用来影响系统架构的任何书籍,网站和播客
我还缺少其他任何东西?
[编辑]谢谢大家.失去了好的主张.我希望我能接受不止一个答案!另外,我还要补充:
你有什么专门为提高系统性能而做的,现在瓶颈在哪里?
与此相关,您对系统的安全性做了什么?(你做了什么,现在安全漏洞在哪里)
最后一件事:开发人员说,如果我需要,他可以在以后回答我的问题.毕竟这是他的"宝贝".但我真的认为在6个月内他会继续前进,他的可用性将会大大降低!
在你看代码之前:
清除objs和exes,让他/她重建这件事.注意任何手动交互(它是通过"make"单独构建还是涉及到一些小问题).
更好的是:给他/她一个裸体(刚购买)的机器,让他/她展示一个结账和重建.然后看看应用程序是如何启动和启动的(输入的任何秘密选项?).
然后:在一对编程会话中,向系统添加一个或两个功能,并查看这些功能的实现位置和方式.
以上可能听起来很愚蠢,但我看到过单独建造是一场噩梦的项目,而且很多知识只在开发人员的脑中.没有可信赖的构建环境并且不得不弄清楚如何重建是一个蠢事.
请务必询问Web服务器,域名注册商,数据库服务器,电子邮件服务器以及您能想到的任何其他内容的所有登录信息.这听起来很疯狂,但开发人员通常会将自己的域名注册为管理和技术联系人.如果无法联系原始程序员,公司将不得不与注册商一起跳过各种箍,以便恢复域名.
"如果你可以回去重新开发这个系统,你会做什么不同的事情"
问:a)你不想让我问你这个系统有什么问题?b)当你不再从事这个项目时,你最开心的是什么?c)系统中哪些部分过于复杂而无法记录?
他的电话.
谁是您的专家用户 - 我应该寻求或信任他的意见?
谁是您危险的非专家用户 - 我应该倾听谁然后积极忽略?
已知1个问题
已知1个方面的改进
现有代码覆盖率数据,测试通过率等用作基线
故障排除提示(了解日志文件,调试崩溃,常见陷阱)
配置参数说明
1只知道他或她
系统需要定期的"手工"是什么?
你知道,那些经常出现但尚未实现自动化的小工作.你如何解决它,你如何识别它.
询问真正的要求是什么.大多数项目要么没有书面要求,要么没有过时的书面要求.真正的文档通常是口头对话.找出与谁交谈的人.如果您对不同用户的要求存在冲突,请找出最重要的人才.