Coding Concepts – Cyclomatic Complexity

Cyclomatic what? Even spell check doesn’t recognise the word, but it’s a super useful software metric for understanding how your software works. Having read about it a few years ago, it apparent use seems to have deteriorated. I feel it’s a very valuable tool in a developer’s arsenal, and something that should be used in…

Coding Concepts – Reflection

Reflection – What you need to know. In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.[1] So what does that mean? Reflection is a term thrown around every now and again and but do you really know what it means? Why…

Coding Concepts – Anonymous Methods

What is an Anonymous Method, and when should we use them?   Definition Anonymous Functions – In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier. Anonymous functions are often[1] arguments being passed to higher-order functions, or used for constructing the result of a higher-order function that needs to return a function. If the…

Coding Concepts – Understanding Generics

What are Generics, and why should we use them? Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters. This approach, pioneered by ML in 1973,[1][2] permits writing common functions or types that differ only in the set of types on which they operate when used, thus reducing duplication. Such software entities are known…