| Constructive laziness |
|
|
| Written by Daniel Leiderman-Gueller | |||
| Saturday, 21 March 2009 22:43 | |||
|
The slogan “Just do it” has an appeal for using the first idea you have. The only problem is that the first idea or design might not be most effective or elegant. Unfortunately, the first idea, without research, might lead to a brute force approach that although might provide a solution is ineffective and inelegant. The act of design, on top of allowing better communication, can be used for constructive laziness: to spend some time researching, testing, trying to isolate the real task and optimize it. Most coders I know don’t like to work hard, but there is a difference between working hard for coding and working hard before, in the design phase. The design phase can be hard work, where the design is tested several times, iterated, shared, commented and stripped. The goal is to find the weak spots of the design and understand the quality attributes. The relative simplicity and elegance is reflected in the quality attributes of the solution, as exhibited in the documentation and presentation of the design. Same as code reflects its elegance while read the same is relevant for design but more explicitly. The elegance of the design can be seen in the separation of layers, the encapsulation of internal attributes, symmetry of connections and balance between conflicting requirements. True elegance comes when the constructive laziness becomes a state of mind for selecting how to spend the time and effort. When the design reflects creativity, elegance, balance of selections and real effort then one feels a sense of completion and love of the profession.
|
|||
| Last Updated on Sunday, 22 March 2009 00:55 |