Discussion

Ask HN: Studying large code bases

Hi HN,

Suppose you had to understand a large distributed system. The modules which interact together can be written in different programming languages and all expose a REST endpoint along with a documentation of what each endpoint can do.

For the simplicity of discussion lets consider these languages(Java, C++, Scala, Python and PHP). They could use a distributed database like solr, couchbase

Some of these modules can be 12factored and some with pretty bad code practices. There is no existing mechanism for monitoring but logging.

How would go into analyzing this vast system ? (Not just one at a time, elaborate your techniques)

To what degree would you trust the documentation, infrastructure, existing testing tools, environment setup tools in the process of understanding a module ?

What would you make sure you definately do NOT do?

What language specific strategy would you suggest ? (Entrypoints, configs, static analysis etc.)

Would you think of creating a mechanism for cloud debugging ?

How do you keep track of the knowledge you learn from one module and apply that as you go along ?

How do you keep your life together and still swim in so much complexity ?

Share your stack! http://stackshare.io/

How do you apply these techniques to learn, update and maintain this system?

PS: I am asking this question in general and not for an existing system. But if you would like to give an answer with some open-source project as example, that would be great.

57 points rvalue 11 years ago 24 comments

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton