What Is A Class (and why to avoid static methods)

There are many debates in software development, from how to test, to languages, to frameworks, and everything under the sun. Despite my oblivion to the technical details of many of these debates, what I’ve seen is that many of them hover around the lofty heights of roof trusses without understanding the subterranean foundations that build the houses they are comparing (wow, that was poetic: +1500 hipster points).

More

Why Are We Mocking Like This?

People like labels that they can classify themselves under. It’s a nice way to have a club you can belong to, and an opposing club you can speak against. In political rhetoric here in South Africa, one group of people will feel complemented when calling them ‘capitalist’, whereas another will feel completely insulted. It’s the same with the term ‘socialist’. This phenomenon seems to also exist in the software development sub-genre of reality. Of late, I’ve been reading and discussing the tensions between the unit-testing practices of those who call themselves ‘mockists’ and others who call them classicists.

More

Spock: Making Java Testing Groovy

In my previous post, I alluded to how I was introduced to the Ruby cult some time ago. I decided to try out the language for myself. Now, being used to statically typed languages, I’m not really a fan of type enforcing only happening at run-time for languages such as Ruby, JavaScript and Python. But one I really like about Ruby, similar to what I found about Python some time ago, is how human-readable it is, making understanding what the code does a lot easier. Groovy, a language that runs on the JVM also has this advantage to it, making it a useful tool in testing Java code.

More

Spring Field vs Setter vs Constructor Injection

Lately, I have been immersed in the world of Java and its various frameworks, tools and language features. I’ve also recently discovered that Java is not cool. I found myself at a gathering of developers some time ago, where they attempted to proselytise me into the ruby cult family. Unfortunately, since puberty, I have had trouble growing enough facial hair to be seen as ‘one of them’.

More

Simple Applications Change The World

When someone dreams of being a ‘software developer’ or ‘programmer’ (or whatever the other ill-defined terms are for someone who creates software), they imagine someone highly intelligent someone solving complex algorithms that will solve the {{ world.generateRandomProblem() }} crisis for humanity and make this world a better place. At least that’s what I thought.

More

The Danger with Frameworks

For the past 2 weeks, I have been delving into the magical world of AngularJS and single page applications. This is how the internet should be. Increased processing speeds and more memory have allowed the browser to process a lot more than what was previously feasible, allowing for a much better experience for the user.

More