Use the Source

My blog post this week is on the Apprenticeship pattern “Use the Source”, which encourages the reader to go out and look at others great works of programming. As a programming apprentice you want to do because his code review allows you to see how someone could’ve used a different strategy to solve a problem you have worked on before. One of the things the author points out to start with is the application and tools that we use on a daily basis. I like this idea not only because code review in general is good, but doing the review on something you find interesting will only enhance it. When you find something genuinely more interesting, you tend to work at it harder, and take more away from it as an experience. Another suggestion made by the author was to download current version of source codes as a way to view and track the history of the code and its growth. With these source codes, you can try to refactor them and see why the programmers took the routes they did. This sort of practice can be used to reflect on how you thought about addressing the problem, and how the original programmer went about optimizing the program. Another approach an apprentice programmer can take it to have other people review your code. I like to do this with code that I have written because I feel that having others review and critique my code is a great way to learn new and different ways to look at the problem. The author points out how this swings both way with asking others to review your code though, and an apprentice looking to become a journeyman has to be willing to help others grow. One thing that I would hope I can work in after I graduate is the idea of pair programming or code reviews. This practice has been mentioned multiple times in previous chapters and just as the author points out, seems to produce strong programmers through extensive reviewing and having their code reviewed. The overarching theme of this chapter is the idea that if you review a great variety of code this better prepares you for any number of possible situations you could face in your career. I could not agree with this more and try to emulate it in my practices, trying to learn any sort of trick that someone has found to a small problem.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s