RSS

Category Archives: Design

Context Error Reporting

One of the biggest mistakes I see programmers make when writing an error message is to forget to include details about the context into the message.  The message effectively “assumes” that the reader knows the context, but that assumption is not always valid, and the error message can fail communicate. Read the rest of this entry »

Advertisements
 
Leave a comment

Posted by on April 20, 2018 in Coding, Design, Poor Error Msg

 

Tags: , , , ,

Caching for Chrome

One of the biggest questions I see posted on internet discussion boards is “Why didn’t Chrome get the recent file?”  By default, Chrome is more aggressive on it’s caching than either Mozilla or IE.  Here are some answers to these questions. Read the rest of this entry »

 
Leave a comment

Posted by on January 29, 2018 in Design

 

Tags: , , ,

Excessive Branch Use Causes Technical Debt and Increases Risk of Bugs

Agile practitioners already know that technical debt is that accumulation of unfinished work can cause projects to be late late late.  Building up a lot of technical debt is a problem because the debt needs to be payed before you can ship.  One way that debt can be accumulated is by profligate use of branches.  Avoid that at all costs! Read the rest of this entry »

 
1 Comment

Posted by on December 16, 2017 in Coding, Design, practice

 

Tags: , , , , ,

Abstraction and Encapsulation

Abstraction and encapsulation are opposite sides of the same coin, and essential to good object oriented software design.  Why the, is there a tendency of some programmers to go in exactly the opposite direction?  This trend and its implication is discussed below. Read the rest of this entry »

 
Leave a comment

Posted by on November 22, 2017 in Coding, Design

 

Tags: , ,

Grounding Design for the Real World

One common rabbit hole that programmers often fall into is creating designs for abstract capabilities that then prove to be useless in real life. To avoid this, we must focus on concrete real-world examples when designing capabilities. Read the rest of this entry »

 
Leave a comment

Posted by on July 17, 2017 in Design, practice

 

Don’t Write Insulting Error Messages

Error messages are incredibly important in communicating to the user when something happened that the program was not designed to handle.  Programmers usually write these messages, and there are common pitfalls to avoid. Read the rest of this entry »

 
Leave a comment

Posted by on July 14, 2017 in Coding, Design, practice

 

Tags: , , , ,

Extreme Precision Programming

What is “Extreme Precision Programming”?  It is a style of programming that aims to perform the intended function, while being very noisy about anything that deviates from the intended mode of behavior.  It is nothing like a complete methodology, but rather a philosophical leaning to guide choices at the implementation level. Read the rest of this entry »

 
Leave a comment

Posted by on July 12, 2017 in Coding, Design, practice

 

Tags: , ,