Progressive Disclosure Everywhere
If you google “progressive disclosure,” you’ll get hits that describe the phrase as an interaction design technique. UI folks have long recognized that it’s better to show a simple set of options, and...
View ArticleUnencapsulate Yourself
We loved to escape the boxes when we were kids… Photo credit: thewoodenshoes (Flickr) If I had to make a “top 5″ list of foundational tools in software development, encapsulation would certainly make...
View ArticleHow Enums Spread Disease — And How To Cure It
Poorly handled enums can infect code with fragility and tight coupling like a digital Typhoid Mary. Say you’re writing software that optimizes traffic flow patterns, and you need to model different...
View ArticleHow Sutter’s Wrong About const in C++ 11
Herb Sutter recently gave a talk about how the const keyword and the mutable keyword have subtle but profoundly different semantics in C++ 11. In a nutshell, he says that C++ 11 corrects the...
View ArticleSmall Files Are Your Friends
Yesterday I was discussing refactoring priorities with a colleague who’s a brilliant engineer, and I happened to mention my strong desire for smaller files in our codebase. I told him that I thought .h...
View ArticleGood fences make good neighbors
In Robert Frost’s poem, “Mending Wall”, two farmers meet each spring to rebuild the rock wall between their properties. One farmer is the narrator. He notes that the unseen forces of winter and weather...
View Article2 Surprising Truths About The Iron Triangle
Project management 101 teaches that, when managing outcomes, you cannot alter scope, schedule, or cost (resources) without affecting at least one of the other dimensions. This interrelationship is...
View ArticleEncapsulation isn’t just for code
When computer science folks talk about encapsulation, they are usually thinking of how the principle applies to objects and functions inside a codebase. Best practice calls for a separation of...
View ArticleLacunas Everywhere
I’m told that in Czech, the word “prozvonit” means “to call a mobile phone and let it ring once so that the other person will call back, saving the first caller money.” Image credit: AstridWestvang...
View Article
More Pages to Explore .....