How to Code Review

This is the second of a two part blog post on code reviews. This second post is a technical checklist on some things to look for during a code review.

Posted On Wednesday, September 5, 2018 10:36 PM | Comments (0)

Code Reviews

This is a 2 part blog post on code reviews. This first post is on why and when code reviews should be done and some of the soft skills needed.

Posted On Wednesday, September 5, 2018 10:31 PM | Comments (0)

Ethics Organization

So I was listening to a recent Western Developer’s podcast on Ethics. At one point in the conversation [39:30] there was a call for establishing a industry standard professional body for software developers. This would be much like the Bar Association for lawyers or the Medical Board for doctors. It would be responsible for establishing a set of guidelines or rules for software development professionals to follow. It would grant membership to those properly trained and punish those that act unprofessionally. ......

Posted On Monday, October 26, 2015 11:28 PM | Comments (1)

Testing Workflows – Test-After

In this post I’m going to outline a few common methods that can be used to increase the coverage of of your test suite. Each approach you are skilled at applying is another tool in your tool belt. The more vectors of attack you have on a problem – the better. In this post I’ll enumerate some test-after workflows: Bug Reporting, Exploratory Testing, Examples, Smoke Tests, Coverage Analysis, and Test Refactoring.

Posted On Friday, May 30, 2014 2:06 AM | Comments (0)

Simplicity Principles and Anti-Patterns

Review of the Simplicity principles and anti-patterns: KISS, Clever Code, Golden Hammer, Yak Shaving, YAGNI, Premature Optimization, Worse Is Better, Big Design Up Front, and Bike Shedding.

Posted On Friday, February 20, 2015 12:29 AM | Comments (2)

Working Simply

I believe that Beck’s Four Rules can be simplified to 2 axioms: 1. Write working software 2. Write simple software

Posted On Tuesday, February 17, 2015 10:22 PM | Comments (0)

Release Notes Are Hard

Being able to write good release notes, code, or any other form of writing is a skill that takes hard work to learn and develop. Writing good release notes is hard. In this post I’ll cover some of the reasons why it is so hard and some tips to do better.

Posted On Friday, June 20, 2014 1:00 AM | Comments (0)


I don’t think it is fair to compare “Expressing Intent” against “DRY”. This is a comparison of apples to oranges. “Expressing Intent” is a principal of code quality. “Repeating Yourself” is a code smell. A code smell is merely an indicator that there might be something wrong with the code. What principle is the code smell of Duplication pointing to and how good of an indicator is it?

Posted On Wednesday, June 11, 2014 10:34 PM | Comments (0)

Testing Workflows – Test-First

This is the second of two posts on some common strategies for approaching the job of writing tests. So here is a partial list of some test-first methodologies: Ping Pong, Test Blazer, TDD, ATDD, and BDD.

Posted On Friday, May 30, 2014 2:07 AM | Comments (0)

Benefits of Pair Programming

This is the first in a three part post on pair programming. This post describes the benefits of pairing, including: improved quality, lower development costs, pair learning, and team building.

Posted On Sunday, April 27, 2014 9:43 PM | Comments (0)

Full Craftsmanship Archive

Copyright © Timothy Klenke

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski