如果你刚刚被介绍给一个新的项目,你首先要寻找的东西是什么来了解它的工作原理?
你先找设计吗?如果有一个设计,你在里面找什么?类图、部署图、序列图或其他什么?
还是你直接去找密码?如果是这样的话,您如何理解不同的层是如何相互作用的?
发布于 2010-10-28 12:10:24
我从密码开始。单独的设计文档,如果有的话,可能是错误的或错误的想法。因此,我首先尝试在代码中跟踪一些简单的流程;例如,如果它是一个for应用程序,它可能是一个请求或一系列请求。一旦我做到了这一点,我就有了一副需要更多理解的骨架。然后,我可能会回去阅读设计或其他文档,但在这一点上,我有一些具体的东西要把它们联系起来,并验证它们,这样我就可以检测到duff信息。或者我可能只是继续阅读代码,或者测试用例等等。
发布于 2010-10-28 13:09:24
我会从更高的层次开始。如果有任何面向用户的文档-用户手册或指南。如果做不到这一点,那么请看一下需求规范,以便您对软件应该做什么有一些了解。我更愿意看一下设计,并尝试将其映射到代码文件中。希望这些都能以某种合理的方式被构造成文件夹。然后,我会选择设计的一部分,然后进入文件,遵循代码的流程,而不会太陷入细节。
发布于 2010-10-31 22:22:21
我首先建立一个开发人员系统。我用记录在案的程序。这样就可以让猫知道文档与现实的同步程度。
它还告诉我依赖项是什么。这很重要。
现在我已经有了一个开发人员安装程序(并且我在编写过程中用更正标记了安装文档),我构建了一个版本。在这一阶段,我一直在问问题。
现在它已经构建了,我从用户手册中做了介绍性练习。这大致告诉了我系统的实际工作。
现在我有了关于系统的部分线索,我阅读了设计文档,现在我认为这些文档与到目前为止文档的错误程度成比例。
一旦我了解了实际的行为文档,我就可以开始查看代码,并查看真正的代码。他们从不排队,但我现在知道该相信多少。
然后,我查看IDE输出的"todo“和"fixme”注释。像“在2.0版中修复”之类的东西也是小费。
因此,这都是为了学习准确性,正如人们所指出的,单独的设计文档很少是最新的或正确的,但它确实告诉你人们在某个时候在想什么。当然,这些人可能不是来审问的。
https://softwareengineering.stackexchange.com/questions/15321
复制相似问题