Category Archives: Code

Lightweight Context/Specification BDD in C#

Behavior-Driven Development (BDD) provides all of the engineering benefits of traditional Test-Driven Development (TDD) while additionally resulting in a specification that non-developers can read and validate. At its heart, BDD transforms the tests of TDD into specifications. Those specifications are … Continue reading

Posted in Agile, Code | Tagged , , , | Leave a comment

Lunch with Uncle Bob

Ever since I stumbled across the original C++ Report articles that have become known as the SOLID principles, I have been a disciple of Robert Martin (aka Uncle Bob). He is a leader within the agile and software craftsmanship movements. … Continue reading

Posted in Agile, Architecture, Code | Tagged , , , , | Leave a comment

11 Reasons You Want Mobility Experience Before Building a Mobile HTML5 Application

Two forces have converged: 1) Mobility has gone from an optional differentiator to an expected component of any software offering, and 2) HTML5 has been crowned as the solution that will solve the cross-platform problem that Java, Flash, and Silverlight … Continue reading

Posted in Architecture, Code, Mobile | Tagged , , | Leave a comment

DDD Anti-Pattern #3: Not Taking Bounded Contexts Seriously

My team had the challenge of building a field service automation application that would run on Windows Mobile devices. Availability of the Compact Framework meant that most code that would run on the server would also run on the device. … Continue reading

Posted in Architecture, Code, Domain Driven Design | Tagged , , , , , , | Leave a comment

Developing for Android on 64 bit Windows 7

The instructions on the Google site for setting up for Android development within Eclipse on Windows is pretty good. However, there are a few things to watch out for (as of today, July 23, 2010): Stay away from Eclipse 3.6. … Continue reading

Posted in Code | Tagged | Leave a comment

Raising The Bar: Manifesto for Software Craftsmanship

I’ve long been a fan of agile software development as crystallized in the Agile Manifesto. However, I’ve also felt like the core tenants laid out there are too vague to help software organizations actually be successful. I’ve recently learned of … Continue reading

Posted in Agile, Code | Leave a comment

Shout Out to Doxygen

Software Architecture is largely a matter of communication. One big area of communications is documenting a library, whether for internal or external consumption. It is well-known that written documentation goes out of date the minute you publish it. The only … Continue reading

Posted in Code, Tools | Leave a comment

A Nifty Extension Method for Mapping Property Values by Name

Here is a nice little C# extension method that allows you to copy all of the properties from one object to another where the names match. SetPropertiesByName(this object target, object source) { PropertyInfo[] sourceProperties = source.GetType().GetProperties(); PropertyInfo[] targetProperties = target.GetType().GetProperties(); … Continue reading

Posted in Code | Tagged , , | Leave a comment

Referencing a File by Relative Path with T4

This was way harder to figure out than it should have been, so for the next person that needs to reference an input file in a T4 template by its relative path, here is what you need to do… 1. … Continue reading

Posted in Code | Tagged | 2 Comments