The long way through Software Craftsmanship

Tool to Find Duplicate values in Constants

Jul 30, 2015 - 2 minute read - Comments - sampletooljavaduplicategmaurlibrary

Imagine having this java class: private static class RepeatedConstants { public static final String A = "A"; public static final String A_1 = A; public static final String A_2 = "A"; public static final Integer _3 = 3; public static final Integer THREE = 3; } I wanted to remove the repeated values in the constants, in an automatic way, because the file was big (> 4000 constants). A way of doing this is basing the differences on the values, directly.

Exploring Testing with Java 8 Lambdas

Jul 30, 2015 - 4 minute read - Comments - draftjavalambdaexplorationclient

At a client, we were testing a simple feature, but the resulting tests had much subtle repetition: (source code is here) @Test public void log_when_sending_greeting_letters() { sut.send(mock(GreetingLetter.class)); verify(logger).sentGreetingLetter(); } @Test public void log_when_sending_love_letters() { sut.send(mock(LoveLetter.class)); verify(logger).sentLoveLetter(); } and the production code: public class MailSender { private final EventLogger eventLogger; public MailSender (final EventLogger eventLogger) { this.eventLogger = eventLogger; } public void send (final GreetingLetter letter) { // more business logic eventLogger.

Craftsmanship analogy

Jul 27, 2015 - 3 minute read - Comments - analogycraftsmanshipsarah-meistage

I’ve found this set of tweets about the craftsmanship analogy by Sarah Mei: Just put my finger on why the craft/workshop metaphor for software development doesn't quite fit. — Sarah Mei (@sarahmei) July 25, 2015 "Craft" doesn't build any collaboration into the process, except in a top-down control-oriented way (master, journeyman, apprentice). — Sarah Mei (@sarahmei) July 25, 2015 "Craft" casts software development as an individual achievement, just as in a workshop, the master did all the important work on each piece.

Faster site generation for Octopress 2

Jul 13, 2015 - 2 minute read - Comments - metaoctopress-2octopress-3octopress

2016-04 update: I’ve discovered that the original Rakefile does a similar job. See here After a while, the generation of the static site using Octopress 2 was starting to be slow (around 2 minutes for 85 posts) for the kind of fast feedback cycle I was expecting. Inspired by their new features in Octopress 3, one of them being faster site generation, I decided to retrofit my installation with the same feature.