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. 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?

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. Sigasi is developped with this use case in mind. Sigasi makes it easy to navigate in new or legacy projects, which makes it feasible to understand how it is structured.

I find the UML almost useless. 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. See what calls what and what is called by whom for the most hot methods.





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签