A software system should be based around a model, a metaphor that helps the developers how to think about the systems functionality and how to construct its features. However, it is important to realize that the metaphor is not an algorithm that can predict exactly how the system should be constructed. It gives hints, it […]
Posted in:
Software Design
by
Zen
/
Tags: design principles
Comments Off on Metaphors in Software are Heuristics, not Algorithms
I attended a round-table discussion on CI (Continuous Integration) the other day – and it prompted me to write this post. There seem to be some confusion about CI. Some have chosen to let integration mean the interaction of two or more software components. Hence, making the conclusion, that integration is only taking place during […]
Posted in:
Continuous Integration, Process
by
Zen
/
Tags: Continuous Integration, design principles, Software Design
3 Comments
When partitioning your code it is important to consider the when, the what and the how. It can decide if your program will be well structured or become a tangled mess. These three aspects should be separated whenever possible. It is a strategy for thinking about dependencies and separation of concerns. The When An action […]
Posted in:
Software Design
by
Zen
/
Tags: design principles
Comments Off on The When, What and How of Code
I’m constantly amazed at how bad programmers are when it comes to designing good logging and reporting utilities. Hopefully your tool support input from stdin and allows for writing logs or interactions to stdout. If you haven’t gotten that right, I’m not sure what you are doing. But when it comes to report- and logging-formats […]
Posted in:
Software Design, Tools
by
Zen
/
Tags: design principles, Tools
Comments Off on Why Using Stdin and Stdout is Not Enough!
Whenever I find myself with a code design that doesn’t work for me; it might be that the code is hard to test; or it require large rewrites for small changes in functionality; or it simple doesn’t feel right; I most often find that I have deviated from the fundamentals of good code design. As […]
Posted in:
Software Design
by
Zen
/
Tags: design principles, SOLID
1 Comment