-3

this is a problem I've been struggling a bit with. I often get brought along to join projects to help out with development. The problem is, a lot of times I'm assigned to fix bugs, implement new features, etc but I find myself lost in a large code base. I don't know which file is doing what; which functions are being called or used; which best practice is preferred and etcetera....

I feel like I'm walking into a big mansion and expected to figure where the owners put their screwdrivers, hammers, and nails; what did they to fix their broken plumbing; what brand of paint they used to paint their tiles; you get the general idea.

Not all devs / tech leads provide adequate documentation. More often than not, there is no documentation / diagram to show how the app is supposed to work. Even worse, some devs / tech leads are not around, either because they quit or because they are taking an extended vacation. With that said, what are some tips & advice on how to become productive and writing code as quicky as possible?

  • 3
    career and education advice is explicitly off-topic per [help/on-topic]. See http://meta.programmers.stackexchange.com/a/6488/40980 – gnat Oct 29 '15 at 18:27

2 Answers2

0

Simply put: nothing you do will speed up the process of learning the ins and outs of a complex (and often un- or badly- documented) system. All you can do is make the process easier for yourself.

I tend to pick up bugs and try to work my way through fixing them with the help of a debugger - so first priority for me is to get my dev environment set up so it all works and I know where things are. Then I can poke around and see the calls going on in the debugger which often is all I need. I'll also write down sequence diagrams of the major calls that are going on to help me remember.

gbjbaanb
  • 48,354
  • 6
  • 102
  • 172
0
  1. Tool similarity. Is the team using tools you already know or do you have to learn plus the code base itself?

  2. Learning styles. Are you a hands-on learner, someone that can easily read and then apply at an abstract level or do you like to listen to instructions? Different styles can mean different approaches to my mind.

  3. Pattern recognition. How well can you spot patterns in code? How well could you see conventions and styling guidelines used? This can also help in figuring out code at times.

Sometimes it helps to get the basics resolved first as well as to go step by step through a process rather than trying to fly in at the 11th hour.

JB King
  • 16,795
  • 1
  • 40
  • 76