Hacker News new | ask | show | jobs
by kazinator 4281 days ago
If you're trying to change someone else's code, this requires special skills in addition to thinking like a programmer. You have to be able to think like the other programmers who wrote the code, which is often different from the way that you think. Plus, you are unfamiliar with the code. These are additional difficulties, which is why the way programming is taught in schools, tutorials and books takes the point of view that you're always making something new from scratch, even though everyone knows that much real work isn't like that. The underlying hypothesis is that if you develop enough experience cranking out complete programs from scratch, you have a good base for jumping into other programs, which is plausible.

Knowing what function to call and where in a big, unfamiliar program, requires cunning: more so than in your own program where you know everything.

Find out if the program has a regression test suite, and learn how to run it. Then when you make changes, execute the suite. If anything breaks because of your change, find out why; by answering the question "I cannot do it this way because ..." you will quickly get some fairly deep insights into the program.

1 comments

Thank you for the advice!