Stephen D. Ritchie's Blog, page 3

April 24, 2012

Visual Thinking and Communicating

The Periodic Table


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”...

 •  0 comments  •  flag
Share on Twitter
Published on April 24, 2012 06:31

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.
Excella Consulting logo
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

 •  0 comments  •  flag
Share on Twitter
Published on April 12, 2012 08:17

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 OpenCourseWare

MIT 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: ...

 •  0 comments  •  flag
Share on Twitter
Published on March 29, 2012 06:15

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...

 •  0 comments  •  flag
Share on Twitter
Published on March 05, 2012 13:52

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.

Encapsulation

The 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...

 •  0 comments  •  flag
Share on Twitter
Published on March 02, 2012 07:32

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.edu

What about automated tests that verify ...

 •  0 comments  •  flag
Share on Twitter
Published on February 28, 2012 08:26

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...

 •  0 comments  •  flag
Share on Twitter
Published on February 25, 2012 14:33

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.



...
 •  0 comments  •  flag
Share on Twitter
Published on February 19, 2012 14:46

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.


...
 •  0 comments  •  flag
Share on Twitter
Published on February 19, 2012 14:46

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...

 •  0 comments  •  flag
Share on Twitter
Published on February 19, 2012 13:59