C
C#6d ago
Faker

How to work on someone else code to implement a new feature

Hello, quick question, I'm currently doing an internship. Last year also I did an internship where I needed to build something, it was pretty interesting. But this year, what happens is that I was put directly in a team to work on leftover works in their backlog (very boring tasks). Even though it was boring, what I noticed is that the codes have been written by many devs and it rarely happen that we work on something from scratch. So my question is, say I need to understand the code of what developers did, how do I do that? I mean for example, I started to debug things, I understood what's happening on a high level but there are still things that I feel without knowing what was done initially, from scratch, it's a bit to add/implement something. So I wanted some ideas on how you guys do when you need to implement some codes in a software that wasn't written by yourself, it's kind of annoying, right? But I do realise that this is what's going to happen when I will work on full time job, just wanted some advice on how to tackle/exit out of this scenarios.
3 Replies
Jimmacle
Jimmacle5d ago
how do I do that?
by reading the code and any related documentation about the project and asking peers if that's not enough that's why code should be written to be understandable, the computer doesn't care but the next guy who has to look at it does
Ryan H.
Ryan H.5d ago
Also understanding the intent of the code. Implementation doesn't always reflect the intent, so just be wary of that and be open with your peers about what does and doesn't make sense to you. Totally relatable scenario! I've been on teams where the policy was "no code comments ever, no matter what". It required a lot of questions and running the code over and over to get a feel for it. You definitely get there eventually with time and patience Also yes it's very annoying (just don't be too vocal about how annoying it is)
Faker
FakerOP5d ago
Noted, thanks !

Did you find this page helpful?