Yog's Law: Power, Responsibility, and Accountability
Though it’s a years-old news story, Volkswagen produced a diesel-powered car which was designed to pass emissions checks although, under normal operation, the vehicle produced emissions which would not have met an acceptable threshold. The ...
2021.07.16
The Six Aspects of Software Development
There is a sense of click-bait, and one of the most common forms is n-best lists. These are the 10 best basket weaving solutions on the market. Here are the 5 best practices of highly successful cat herders. Vampires HATE these 3 things do ...
2021.06.29
Accommodation: Why We Bikeshed
Bikeshedding1 – that never-ending debate about a material disagreement – is so commonplace in the software industry we actually have parables about it. What’s more, I have actually seen people launch into meta-bikeshedding where they actual ...
2021.05.18
Naming Things, Part 4: Classes as Context
This is part 4 of a multi-part series on naming things. part three will be useful Names are pesky little beasts. No single name exists without context1. This can be a disadvantage when names are unclear, abbreviated, or accidentally relat ...
2021.04.29
Why Worry About Names?
In every brownfield project I have ever worked on – and I have worked on a fair few – there is a common pattern I find. Developers either name their variables incomprehensibly, or they avoid using variables at all. Chains of function calls ...
2021.04.27
Reading Source Code, Reading Natural Language
In a previous blog post1 I talked about an article claiming that reading source code was not like reading natural language. The original post referred to an article from “Science Daily”2, however there were far too many details missing, so ...
2021.04.06
Source Modalities: Rules and Conditions
While analyzing and editing source code, much of the work to be done is rather straightforward. Many business applications are data stores with a user interface so a non-developer can manage the data. Even these applications, however, intro ...
2021.04.03
The Theme of Your Code
In the past 25 years, or so, it has become popular to consider high-level structure of programs in chunks defined by a group affectionately referred to as the “Gang of Four”. They wrote a book called “Design Patterns”1 which laid out common ...
2021.03.27
Naming Things Part 3: Using Methods for Context
This is part three of a multi-part series on naming things. Part two will be useful1. When looking for the right name for something you can end up with a pretty long name. In part 2, we looked at capturing conditional context by extractin ...
2021.03.25
Analyzing Source Code: Source Textemes
I realized a few years ago that one of the most important aspects of writing software, to me, is to build it for people. For several years, I thought, given enough research, there was a technical solution out there that would help me to fin ...
2021.03.23
12315