
Writing computer code provides a programmer incredible freedom, but writing good code that’ll work in a team environment is a trickier assignment. Many coders fall back on whatever guidelines their manager issues, but that approach can obscure the real challenge. Not only is someone programming a computer to achieve a certain goal, but that person is simultaneously writing a letter to their future self and fellow programmers about what they are trying to do. Clear communication is as much a part of the challenge as getting the code to work in a maintainable fashion. In this book, John Ousterhout of Stanford University guides newer and mid-career programmers how to write better code.
Computer programmers can be famously inflexible with personal coding standards. Whether one agrees with Ousterhout on ever issue or not – I certainly didn’t – reading about others’ understanding of coding increases your tolerance of other programmers. It simply makes you a better teammate. We all need better teammates, and it starts with you and me personally.
He hits on all the major issues good programmers talk about with each other: when to write comments, how to construct self-documenting code, how to design deeply effective classes, and more. These are not challenges that are mastered once-and-for-all; rather, they are daily challenges with each programming assignment. Even as someone who has been programming for decades, he helped me see my craft in small, new ways.
The obvious market for a book like this are newer and mid-career programmers. But advanced programmers often benefit from reviewing the main themes from a master craftsperson; indeed, at the very least, they can learn how to express themselves to their mentees. I slowly skimmed this book but slowed down for thoughts that I may not have had explored before. Coders of every ilk like learning by doing, but learning-by-doing has to be supplemented by coaching. Most supervisors don’t have the time to do that in depth, so reading books about coding becomes essential. This one should certainly be on the reading list.
A Philosophy of Software Design
By John Ousterhout
2nd Edition
Copyright (c) 2021
Yaknyam Press
ISBN13 9781732102217
Length: 184 pages
Genre: Software Engineering
www.amazon.com