Skip to content

Ask HN: How do you wrap your head around large, existing projects?

2 pointsblparker1 comment
On HN

I'm a new member on an existing team. While the project is a relatively new endeavor (~8 months or so), it has grown massively in scale. It is a large Java project and there are about a dozen active members submitting code changes. There are many moving parts and many layers of abstraction including programmatically creating jobs in Hadoop (using Apache libs and Pig), a built in DSL translator, wrapping native libraries with JNI, and many more. In all, the project workspace is comprised of 80 projects with many projects containing multiple packages. Unfortunately, documentation is lacking and/or out of date and the code is sparsely documented. To make matters worse, there isn't a comprehensive test suite that I can leverage to get an idea of how the code is being used. I'm sure many of you have jumped in on an existing project, so I'm curious how you all handle getting a grasp on the overall code and architecture. Thanks.

Comments

My (very subjective and not at all scientific) advice is to take it one thing at a time. Find a ticket that looks like a low hanging fruit, fix it, and now you understand what that part of the code is doing. After a few months of this, you'll find yourself with a decent understanding of the project as a whole.

I would also try to push hard for more/better documentation along the way.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.