Before Making It Configurable
The article discusses the importance of configurations in programming, categorizing them into two types: information-passing and behavior-changing. Information-passing configurations are seen as less complex, while behavior-changing configurations can significantly alter application functionality and introduce complexity. The author emphasizes the need for careful consideration when implementing behavior-changing configurations due to their potential to complicate code structure.
- ▪Configurations allow a program to behave differently without modifying its code.
- ▪Information-passing configurations mainly pass values around and do not significantly change code structure.
- ▪Behavior-changing configurations can alter application behavior and signal increased complexity.
Opening excerpt (first ~120 words) tap to expand
Before Making It ConfigurableWritten at 2026-05-16Tags: ReflectionsConfigurations exist to allow a program to behave differently without modifying its code. You have a program, you configure it, run it, and it behaves accordingly. In a way, they are like function inputs, but at the application level. They tend to reflect and affect how a system works under the hood. This also makes them closely related to the complexity of our applications.Thinking this way, I cannot think of configurations as just simple inputs. That is why I wanted to think about this topic a bit more and write down some thoughts.Two Kinds of ConfigurationsI think we can group configurations into two types: information-passing and behavior-changing.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Uğur Erdem Seyfi.