Tag Archives: design

Ease of Development as a Quality Metric

I recently been studying software architecture and have had a minor epiphany. My assumptions about code complexity may have been unnecessarily pessimistic. From my experiences in software development, I have observed that more powerful or more robust systems are naturally more complex. A side effect of this observation is that beginning to do development on… Read More »

False Lazy Initialization

There is a technique I have seen used many times in my career called Lazy Initialization. The purpose of this technique is to delay an expensive initialization (or object construction, or calculation) until you actually need it. Just like any technique, Lazy Initialization has both advantages and disadvantages. The advantages are a pretty obvious: If… Read More »

Abstraction as Compression

Long ago, I was trying to convince a friend of mine that Object Oriented programming was not all just snake oil when he asked me a fundamental question. What’s the difference between an object and a thingie? In some ways, this question has guided my understanding of objects ever since. Fundamentally, what makes one collection… Read More »

The Modular Monolith

Continuing the line of thought from last time (Sharp Tools vs. Frameworks), another issue I see in quite a few frameworks and some systems is a code anti-pattern I’ll call The Modular Monolith. We all know that modularity is a good thing to have in a system. Modular code, in general, reduces coupling between components,… Read More »

Thinking About Object Lifetime

Several times in the last few years, I have written about the subject of memory management, garbage collection, and object lifetime. Some of essays I’ve written on this subject include: The Semantics of Garbage Collection More Thoughts on Resource Recovery Other Resource Recovery Approaches Resource Management Revisited Recently, I was thinking about this issue again… Read More »

Form vs. Style

Ever since O’Reilly published the new book Beautiful Code, there seem to be references everywhere to what makes code beautiful. While a few people have suggested that beauty should not influence code (see the comments section for the suggestion that there is no beautiful code), I believe that most people have seen code that they… Read More »