TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How to get started with a very large code base?

3 pointsby kiloreuxabout 9 years ago
I recently got started with a very large code base for a project, and I can't find my way through it, the documentation is very bad, do you have any specific advice for getting started with such code base ? Any tips will be helpful.

4 comments

jerfabout 9 years ago
Debuggers are great for this. Nothing will teach you like stepping through the code. Do whatever it takes to get one working.<p>I recommend replying to your question with at least a <i>bit</i> more detail, particularly the language or languages in question and what the general environment is. I could be more detailed for a few environments but I don&#x27;t want to just blindly guess.
strayabout 9 years ago
Write tests for every behavior the system currently exhibits.<p>Then systematically comment out everything -- one function&#x2F;block&#x2F;class&#x2F;whatever at a time -- making note of which tests break.<p>That should give you a better idea of how everything hangs together -- and uncover the parts that aren&#x27;t even used anymore.<p>Almost any software that you inherit, that has been around for a while, will be a complete mess.<p>If you have time for a book, Michael Feathers&#x27; Working Effectively with Legacy Code will likely help a lot.
评论 #11198129 未加载
dev1nabout 9 years ago
I found this [1] in a comment where someone asked a similar question. This really helps only if you are using a git repo though. There are some good gems in this [2] thread too.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;gilesbokett&#x2F;rewind" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gilesbokett&#x2F;rewind</a><p>[2]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9784008" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9784008</a>
评论 #11199818 未加载
DrScumpabout 9 years ago
<i>Take notes</i> (external to the code) on everything you learn about a given module, whether code&#x2F;flow analysis, insights on input &#x2F; output &#x2F; objects, visible interactions, and what it reveals about how project-specific libraries are used. Otherwise, it&#x27;s so easy to have an &quot;oh, <i>that&#x27;s</i> what that does&quot; insight and lose it later because you assumed you&#x27;d remember it.