Improving software by focusing on better feedback

  • Theo Andersen Carton

You dont need to see my nulls

October 4, 2016 · 5 minute read

In most programming languages, null is the most common thing in the world, and every programmer knows that an object can be ‘empty’, or in other words have the value null, nil or undefined depending on the language.


Continue reading

Why program in a text editor

August 1, 2016 · 5 minute read

I’ve always lived in Microsofts big IDE Visual Studio, for all my programming purposes, because I developed .NET. Visual Studio is a monster of an application - it has its own quircks, but is generally regarded as a pretty good development tool. Of course all .NET developers swear to Visual Studio, because they really haven’t got anywhere else to go - leaving Visual Studio would sound like leaving .NET all together. And actually the experience in Visual Studio isn’t all that bad. Its got good code suggestions, great debugging facilities - but 90% of its features I either don’t know about, or selectively dont use.


Continue reading

Refactoring your versioning history

July 23, 2016 · 6 minute read

In my professional (read “closed-source”) life, the versioning history of any project is a byproduct the coding of the project. What I mean is, there’s not much thought about how the history reads or is structured.

This makes it hard to read and understand the versioning history, which is an important log of whats happened to the code. The following example is XKCD’s brilliant rendition of this.


Continue reading

Three programming language execution models

July 7, 2016 · 6 minute read

Every code written in a programming language, is executed in a specific way when run. The executions depends on the language and defines how it interacts with the hardware. This is called an execution model.

I’m no compiler expert, but I do think that all programmers should learn multiple programming languages and along with it, know the basics of the execution models, in which they run.


Continue reading

Practicing code kata's with code constraints

June 30, 2016 · 8 minute read

A year ago I did some Test Driven Development training at work, by doing three two-hour mini code-retreats. The idea was that I would lecture as little as possible, focusing on trying it out instead. TDD is a practical technique, so you will learn quicker, if you practice it it in pairs on a given assignment, rather than following the concept only in slides. Each session started with some short theory on the given TDD subtopic of the day and then introduced an assignment, which was carried out in pairs in the style of Code retreats (inspired by the work on the subject by Corey Haines and Joe Reinsberger). Before each assignment, I would code a smaller example in the same style as the assignment, on the screen in the room.

The thing I discovered in these sessions, was that using code constrains on top of the normal TDD kata’s, is nice learning tool.


Continue reading

Static considered harmful

June 24, 2016 · 4 minute read

I consider myself a decent object-oriented programmer, in which the keyword static has often annoyed me, because of its general misuse. I still Often see applications, where almost everything done in static and there are almost no objects in use. This obviously makes for a very inflexible and hard to test application. But the static keyword holds more problems than this excessive coupling, its also problematic when its used to create static data, especially when your running in a multi-threaded context - which everyone is these days.


Continue reading

Pull requests are a best practice

June 17, 2016 · 6 minute read

Code quality is not only a product of the code you write, but also of how the code is written and put into versioning. The way you tailor the process of writing code, by how you organize, name, review and build versions of your code, has much to do with the quality of the software you produce.


Continue reading

TDD is just a feedback technique

June 14, 2016 · 2 minute read

Test Driven Development, is a book, a technique, dead, no alive, but very much talked about, blogged about and screencasted about.

#TDD is about design more than it’s about testing. :) RT @freire_da_silva: #TDD is about design, not testing

— ☕ J. B. Rainsberger (@jbrains) June 10, 2016

TDD is also more about design that it’s about testing.


Continue reading

© 2017 - The content on this site is licensed as CC Attribution-ShareAlike except for code samples, which are licensed as CC0.