RSS

Category Archives: practice

Git Branching

I found a lot of the documentation is incomplete and only useful to those who already know how to do it.  Plus, they usually are based on unrealistic scenarios.  Here are the notes that are useful to me to make and control branches. Read the rest of this entry »

Advertisements
 
Leave a comment

Posted by on February 1, 2018 in Coding, practice

 

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: , , , , ,

The Urge to Merge

Concurrent development of software in a team relies on being able to merge the changes from each person successfully.  Experienced developers will already know this, but there are theoretical limits on how effective merging can be. Read the rest of this entry »

 
Leave a comment

Posted by on December 16, 2017 in Coding, practice

 

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: , ,

It’s OK to Ship Tests with Product

A product is a product, and testing is testing, and they should be kept separate, right?  The thinking goes that consumers would never want to test the product.  Of course they don’t, but they are not the only people in the field. Read the rest of this entry »

 
Leave a comment

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

 

Tags: