简体   繁体   English

开始预先存在的项目

[英]Starting work on a Pre-existing Project

So this is more of a generic question. 所以这更像是一个普遍的问题。 I seem to keep finding myself being put on larger and larger projects. 我似乎一直在发现自己被放在越来越大的项目上。 Recently I have been assigned to a very large project written in C and VHDL. 最近我被分配到一个用C和VHDL编写的非常大的项目。 The goal is for me to become familiar with the code and eventually take the lead on the project. 我的目标是熟悉代码并最终在项目中起带头作用。 This is by far the largest project I have been assigned to work on that I didn't start. 到目前为止,这是我分配给我的最大项目,我没有开始。

So here is my question: What methods/tools do you use to learn how everything works? 所以这是我的问题:你用什么方法/工具来学习一切是如何工作的?

Do you just increase and expand on comments? 您是否只是增加和扩展评论?
Do you make a UML representation of the project? 你是否对项目进行了UML表示?

Any tips would be great! 任何提示都会很棒! Thanks 谢谢

If you can, sit down with the folks who are currently working on it and ask for a high-level solution overview to start and then go on your own from there, digging into the pieces one by one. 如果可以的话,请与目前正在进行工作的人员坐下来,要求提供高级解决方案概述,然后从那里开始逐个挖掘,逐一挖掘。 Identify who is responsible for each functional area and follow up with them when you hit a rough spot. 确定谁负责每个功能区域,并在遇到困难时跟进它们。

Try and embed yourself with the team as quickly as possible, ask to sit in on code reviews and such. 尝试尽可能快地将自己嵌入团队,请求参与代码审查等。 This will get you ramped up pretty quickly. 这会让你很快加速。

For VHDL I recommend using Sigasi . 对于VHDL,我建议使用Sigasi Sigasi is developped with this use case in mind. Sigasi是在考虑这个用例的情况下开发的。 Sigasi makes it easy to navigate in new or legacy projects, which makes it feasible to understand how it is structured. Sigasi可以轻松地在新项目或遗留项目中进行导航,这使得理解它的结构变得可行。

I find the UML almost useless. 我发现UML几乎没用。 I find much more useful, real, static and dynamic call graphs. 我发现更多有用的,真实的,静态的和动态的调用图。 After I generate the call graph, I usually grok the source code through OpenGrok and cscope . 在生成调用图之后,我通常通过OpenGrokcscope查看源代码。 See what calls what and what is called by whom for the most hot methods. 了解最热门方法的内容和内容。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM