Kenneth Truyers
user

Kenneth Truyers

.NET developer at Appyparking, Pluralsight Author and Microsoft MVP


Tagbest practices
Featured

best practices development simplicity

Programming in the zone

Posted on .

Much has been written and said about programming in “the zone”. Most articles give you tips on how to get in the zone and keep there. I haven’t found any article though that challenges the usefulness of ‘being in the zone’ (If I have missed some, please let me…

Featured

Acceptance Testing best practices Powershell unit testing

Running SpecFlow Acceptance Tests in parallel on BrowserStack

Posted on .

Automated acceptance tests play a vital role in continuous delivery. Contrary to unit tests though, they’re quite hard to get right. This is not only because end-to-end testing is harder than testing single units, but also because of the way they need to be e…

Featured

best practices patterns simplicity

Simple code: a sample app

Posted on .

In my last few posts I have hammered a lot on simplicity in software. In my first post (Simplicity in software) I explained what the difference is between easy and simple code (or hard and complex code). On the basis that introducing frameworks and libraries i…

Featured

best practices patterns simplicity

Using partial application for dependency injection

Posted on .

In my post on how to simplify code by using composition instead of an AOP-framework I showed a way of substituting attribute based programming with a more composable paradigm. The result of that transformation will be my starting point for today’s post. For re…

Featured

best practices patterns simplicity

How to use Pure DI

Posted on .

In my previous posts I talked about how you can decrease dependency on external libraries and frameworks while making your code simpler (not easier, simpler). In this post I want to continue on the same thread and show some of the benefits of Pure DI (as oppos…

Featured

.NET best practices patterns simplicity

How to ditch your ORM

Posted on .

In my previous post on how to simplify code by using composition I talked about how we can reduce complexity by removing an AOP-framework (or annotations-based programming). In this post I want to continue on the same line and talk about how we can reduce comp…

Featured

.NET AOP best practices dependency injection patterns simplicity

Simplify code by using composition

Posted on .

In my post about software simplicity I talked about how we introduce complexity in software without realizing it. In this post I want to discuss a pattern that allows you to get rid of the complexity introduced by using annotations or aspect oriented concepts.…

Featured

best practices dependency injection development patterns simplicity

Simplicity in software: what you see is not what you get

Posted on .

As software developers we put a lot of focus on simplicity. And rightly so, because making code readable and understandable keeps it from becoming a maintenance nightmare. Simplicity is often confused though with how many lines of code there are. When you use…

Featured

.NET Acceptance Testing best practices unit testing

Automated acceptance testing with Cucumber for .NET and JAVA

Posted on .

One of the biggest problems in software development is communication. Although we have a lot of technology at hand, the more complex a project is, the harder it is to communicate efficiently. In order to improve the interaction between clients, project manager…

Featured

.NET best practices development unit testing

Flexible and expressive unit tests with the builder pattern

Posted on .

Unit tests become more valuable if they are expressive and flexible. A good unit test should not only test your code, but also document it. Creating expressive and flexible unit tests is not always easy however. The reason of this is that there’s an inherit di…

Featured

AOP best practices dependency injection patterns unit testing

A brief comparison of fundamental AOP techniques

Posted on .

In my previous post “Why choose DI Interception over Aspect Oriented Programming?” I explained my preference for DI interception over AOP. I received a lot of comments on this (especially on reddit) which pointed out some errors. In this article I want to reit…