TDD or Not TDD? That is the question!

What actually is TDD (Test Driven Development) ? Is TDD Dead? Do you associate this term for when Tests actually Drive Development,  or use the label TDD for the practice of ensuring code coverage by having units tests? TDD can be taken to mean different things than the original meaning, and there are some risks… Continue reading TDD or Not TDD? That is the question!

Python dataclasses: A revolution

Python data classes are a new feature in Python 3.7, which is currently in Beta 4 and scheduled for final release in June 2018.  However, a simple pip install brings a backport to Python 3.6.  The name dataclass sounds like this feature is specifically for classes with data and no methods, but in reality, just… Continue reading Python dataclasses: A revolution

Python Class vs Instance Variables

Python class variables offer a key tool for building libraries with DSL type syntax, as well as data shared between all instances of the class. This page explains how Python class variables work and gives some examples of usage. Class & Instance Variables Instances vs the class object Instance Variables Class Variables Using Class and… Continue reading Python Class vs Instance Variables

Python Annotations

Not to be confused with the use of the @ symbol, which is an annotation in Kotlin but a decorator in python. Python syntax allows for two flavours of annotations: variable annotations: Introduced in Python 3.6 (2016) function annotations: Introduced in Python 3.0 (2008) Introduction. Both flavours of annotation work in the same manner. They… Continue reading Python Annotations

What is a DSL?

With Kotlin the term ‘Kotlin DSL’ usually refers to DSLs built in Kotlin using specific Kotlin features (as discussed in 'Kotlin DSLs'), this page, however, is about DSLs in general. Introduction: DSL: The general definition DSL vs 'a DSL' The Types of DSL: External DSL Internal Detached DSL Internal Augmentation DSL Detached vs Internal DSL:… Continue reading What is a DSL?