离开公司时记录代码

时间:2009-06-23 06:11:00

标签: documentation

我昨天辞去了我目前的工作地点,我正在自行记录我的项目,以便我可以轻松地将它们交给我。

请记住,我的代码已经被评论为一个良好的标准,我还应该将其他什么用于帮助我的开发人员接管我的项目?

8 个答案:

答案 0 :(得分:20)

当使用其他人编写的新代码时,新人(或女孩)缺少的第一件事是对系统的概述。有哪些子系统,它们的目的是什么,以及在哪里可以完成手头的特定任务是我想到的一些问题。

一个简明的起始文档,解释整个系统设计(以及为什么选择这个设计的原因)或许有一些图表,我会很高兴在处理由其他人编写的软件时获得。

答案 1 :(得分:4)

考虑将您的顶级概述文档设为Wiki - 它允许您即将成为前同事轻松编辑和扩展它。

一个基本原理(如上所述)非常有用:为什么你选择解决方案A,当解决方案B和C对于一个不经意的观察者来说看起来好多了?它可以扼杀各种无休止的讨论。

答案 2 :(得分:4)

我希望我在这里没有任何有用的内容,但是当代码的接收者通过几次经济衰退,技能重组等转移时,我想重复并在之前的答案中添加几点。

我认为您的管理层已指定一人或多人接管您的工作。

你说你无论如何都不需要它,但现在不是为代码添加注释的时候。

已经指出,软件的新所有者需要高级概述,软件做什么以及做什么需要。保持这个简短,并尽量不让它下载“软件应该是什么样子”,不要费心从坟墓中重新构建系统。

然后转到实际问题:谁是利益相关者,测试人员以及其他任何可能参与并了解该软件的人。

其他文件和PR的要求在哪里,PR的特别值得注意的是即将到来的要求吗?

版权控制在哪里是软件,那里的一切都是什么?真的?

制作软件需要什么?

最宝贵的时间将用于验证最后两点:从版本控制重新创建完整的构建环境,并从新所有者的计算机构建(测试/交付)。如果有时间,请修复一个简单的问题。

新工作祝你好运!

答案 3 :(得分:3)

我个人以自上而下的方式编写所有文档,首先给出所有术语的定义(建立一个共同的词汇表),然后用广义的术语解释有问题的主题,在文档的下面进一步细化。所以这种涵盖系统所有主要部分的文档都会做得很好。此外,如果您在项目中提供架构决策的理由,那将是很好的。

答案 4 :(得分:3)

这可能是不言而喻的,但是如果项目在第一次检查新的开发环境时(当然他们应该),“开箱即用”时不会编译/运行,那么一步一步关于如何使一切运行起来的步骤指南将为新人们带来很多麻烦。

答案 5 :(得分:2)

任何复杂类/系统交互的UML序列图,任何更复杂的OO设计的类图,以及显示不同系统和应用程序如何相互连接的系统级图。

答案 6 :(得分:1)

您可以解释项目的设计,一些重要功能的工作原理,也许您可​​以记录您计划的任何未来增强功能。

答案 7 :(得分:1)

其他人已经提到记录整个工具链以帮助某人设置开发环境。另一件可能有点太元的事情是记录为什么你使用这些工具。

没有什么比从一个新的地方开始并计划从根本上撕掉所有MS Word更糟糕的事情,只是为了找出你在德国销售办公室必须生成他们的TPS报告的过程中的肘部深处。那种格式并不能使用你想用它替换它的wizbang JSON。