Jakob’s Archive

Hi, I am an Consultant with ThoughtWorks and I enjoy writing stuff. Get to know me. I also participate in the /mentoring programme.

This is my personal article collection. A wiki like archive provides better visibility and adds a permanent touch to every article whereas a blog tends to bury older documents in the past.

SharedSecrets
How to share secret information among your team in a secure fashion.
MockingInducedDamage
As useful as mocking can be there are some issues around it that can lead to brittle tests, especially when using mocking frameworks.
Learning
Why the concept of a Learning Curve can be really demotivating..

Older Articles:

SpecificAssertions
Using test specific custom assertions is often helpful to increase the readability of tests.
WishfulThinking
How an idea that’s more than 30 years old changed the way of software system construction.
UniformAccessPrinciple
About leaking implementation details through badly named methods and functions.
ReadableTests
A summary list of a few techniques one can apply to make tests more readable.
Time
How coupling to your system’s time can create brittle tests that are painful to maintain.
Roles
How the concept of roles and actors can help you to build tiny abstractions to enhance readability and understandability.
FirstClass
Primitive data types often lead to tight coupling and less maintainable code. Here are some rules on how to avoid these.
CleanCoder
A review of the “Clean Coder” book by “Robert C. Martin”
Boyscouts
The “Boyscout Rule” is a good example of a discipline to keep your software clean and consistent on the long haul.

Oldest Articles

Persistence
Structuring systems to allow a clean integration of persistence layers can be complicated. This article shares some insights I gathered while working in the ruby world.
RubyLet
Using the let concept in ruby tests can lead to unpleasently confusing tests.
Entities
Why entities play a central role in the understandability of a system and how to structure and compose them in a meaningful way.