1
Ask HN: How do you wrap your head around large, existing projects?
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.