Stephen D. Ritchie's Blog, page 3
April 24, 2012
Visual Thinking and Communicating
Since a picture paints a thousand words, it makes sense that people communicate better with charts, graphs, and other visualization methods. The Periodic Table of Elements is a classic example of a great way to visualize atoms, their characteristics, and structural similarities. Anyone who has taken chemistry knows the significance of the diagram.
What are all your visualization options?
The site visual-literacy.org offers a compendium of visualization methods. One page shows a “periodic table”...
April 12, 2012
Get $100 off Agile and Scrum in a Day!
On Tuesday, April 24th, Excella is providing the Agile and Scrum in a Day training course.
This is a great class that serves as a one day primer on Agile and Scrum. This is particularly helpful for higher level overviews of Agile and Scrum, for those that are curious about the concepts and practices, and those just about to start using Agile and Scrum. Course details are provided below. If you're interested, registration and additional information is available here: a
March 29, 2012
The Power of Free
A world-class education continues to become more affordable. The information is disseminating faster and at lower cost. Access to knowledge and new understanding is now mostly limited by your time, attitude and motivation.
MIT OpenCourseWareMIT OpenCourseWare (MIT OCW) is an initiative of the Massachusetts Institute of Technology (MIT) to put all of the educational materials from its undergraduate- and graduate-level courses online, partly free and openly available to anyone, anywhere.
Source: ...
March 5, 2012
Build Numbering and Versioning
Build numbering is a topic filled with "political" and "cultural" significance. I mean that within organizations and among developers, we have heated debates over the numbering of software versions. Is this software 2.3 or 3.0? Or should it be 2.3.5.7919, 2.3.5.rc-1, or 2.3.5.beta?
Phil Haack recently offered some important information on Semantic Versioning (SemVer) specification and NuGet build numbering. Since the SemVer convention is a rational and meaningful way to version public APIs...
March 2, 2012
Keep Your Privates Private
Often I am asked variations on this question: Should I unit test private methods?
The Visual Studio Team Test blog describes the Publicize testing technique in Visual Studio as one way to unit test private methods. There are other methods.
As a rule of thumb: Do not unit test private methods.
EncapsulationThe concept of encapsulation means that a class's internal state and behavior should remain "unpublished". Any instance of that class is only manipulated through the exposed properties and...
February 28, 2012
Fake 555 Telephone Number Prefix and More

Unless you want your automated tests to send a text message to one of your users, you ought to use a fake phone number. In the U.S., there is the "dummy" 555 phone exchange, often used for fictional phone numbers in the movies and television.
These fake phone numbers are very helpful. For example, use these fake numbers to test the data entry validation of telephone numbers through the user interface.
example.com, example.org, example.net, and example.eduWhat about automated tests that verify ...
February 25, 2012
Rules for Commenting Code
Unreadable code with comments is inadequate code with comments you cannot trust. Code that is well written rarely needs comments. Only comments that provide additional, necessary information are useful.
Yesterday a colleague of mine told me that he lost 10 points on a university assignment because he did not comment his code. Today I saw a photo with a list of rules for commenting attributed to Tim Ottinger.
Ottinger's three rules make a lot of sense. These rules are straightforward. In my...
February 19, 2012
Now That’s High Praise
As a pragmatist, hearing that a fellow developer is getting a lot of value from my book is exhilarating. Dominic Zukiewicz wrote an excellent review of Pro .NET Best Practices. Here is the link to Dominic’s blog post: How to implement best practices with the .NET Framework
I’m a big fan of Steve McConnell. I’ve read most of his books and read Rapid Development cover to cover. I consider it his seminal work. It is very high praise to be compared favorably to Rapid Development.
Thank you.
...
Now That's High Praise
As a pragmatist, hearing that a fellow developer is getting a lot of value from my book is exhilarating. Dominic Zukiewicz wrote an excellent review of Pro .NET Best Practices. Here is the link to Dominic's blog post: How to implement best practices with the .NET Framework
I'm a big fan of Steve McConnell. I've read most of his books and read Rapid Development cover to cover. I consider it his seminal work. It is very high praise to be compared favorably to Rapid Development.
Thank you.
...
Four Ways to Fake Time, Part 4
The is the fourth and final part in the Four Ways to Fake Time series. In Part 3 you learned how to use the IClock interface to improve testability. Using the IClock interface is very effective for new application development. However, when maintaining a legacy system adding a new parameter to a class constructor might be a strict no-no.
This part looks at how a mock isolation framework can help. The goal of isolation testing is to test the code-under-test in a way that is separate from...


