首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你如何跟踪大型项目?

你如何跟踪大型项目?
EN

Software Engineering用户
提问于 2012-01-04 14:41:44
回答 6查看 3.3K关注 0票数 16

在处理有许多不同文件的项目时,我似乎总是不了解各个部分是如何相互交互的。在孤立地理解较小的组件时,我从来没有遇到过太多的问题,但是随着项目的复杂性的增加,我发现自己无法从精神上构建对正在发生的事情的理解。我注意到这一点,尤其是在OOP项目中,随着方法和源文件数量的增加。

我的背景:我是一个自学的网络程序员。我主要是处理python的快速和脏脚本,但我也做了一些基本的姜戈项目。我喜欢像烧瓶这样的web框架,因为在简单的单文件布局中,我可以很容易地跟踪(大部分)正在发生的事情。

现在,我发现自己需要与其他人开发的大型项目进行交互,我无法理解扩展到多个文件中的代码。

,您发现了哪些技术和流程有助于理解其他人开发的大型代码库?有什么特殊的图表可以帮助您更好地把握大局吗?

EN

回答 6

Software Engineering用户

回答已采纳

发布于 2012-01-04 15:48:31

理解大型代码库的诀窍是不要试图理解所有的代码库。在达到一定的尺寸后,你就不能把一个心理模型放在你脑海中的整个事物中。从一个锚点开始,它对您首先需要处理的任何任务都是有意义的,然后从那里进行分支,只学习您需要的部分,并相信其余的任务会像广告中所示的那样工作。就像理解递归一样。如果你想把整堆东西放在脑子里,你的大脑就会爆炸。

Grep、调试器和intellisense是您在这里的朋友。如果您不知道函数是如何被调用的,请在其上设置一个断点,然后按照堆栈跟踪的方式工作。

另一件需要注意的是,大型代码库不会突然出现。它越大,有经验的程序员就越多,所以问问他们从哪里开始,但是要具体。问这样的问题:“我需要增加一个新的支付提供者。我应该在代码中寻找什么?”专注于这一任务,而不是试图理解整个代码库,你的熟悉程度就会一点一点地增长。

票数 8
EN

Software Engineering用户

发布于 2012-01-04 16:06:36

应要求,以下是我的答复。

在使用其他人的代码时,我倾向于创建或者如果可能的话生成UML类图,以便对静态结构进行概述。可视化图表对我有帮助,特别是当我不得不回头,并且已经忘记了类的上下文时。我有时也是为了动态的行为来列出协作者之间的互动,但我不经常这样做。

如果代码库包含测试(集成或单元),这些测试有时也值得检查。

票数 2
EN

Software Engineering用户

发布于 2012-02-27 15:46:22

实际上,我将在这周的过程中开始这样做,在这个过程中,一个新客户需要对另一个开发人员留下的产品进行增强。以下是应遵循的步骤:

( a)确定所使用的编程框架,这有助于了解应用程序的流程。

b)识别公共服务--日志记录、异常处理、MVC、数据库连接、审计、视图(页面生成),因为这些是我们将使用最多的部分。

c) (在应用程序中)运行常见的用户流,然后尝试将它们与代码的布局方式对齐。

试着做些改变,看看结果如何。这是最大的一步,因为在您开始更改之前,代码仍然是一个黑匣子.

在接下来的两周里,我会让你知道我还有什么想法

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/128326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档