Software Engineering

Posts on software engineering

Rewriting History with Git

Rewriting History with Git

Commits do not always turn out as you'd like them. However, using interactive rebases, you can craft beautiful commits by modifying your commit history.

0

Let’s say you are currently adding new arguments to an installation script for your software. After some work, your commit history may look different than you would like.

Two Environment Variables for More Robust R Code

Two Environment Variables for More Robust R Code

The good, the bad, and the ugly of R's typing system and how environment variables can remedy the situation.

1

I was recently alerted because my Bioconductor package openPrimeR was failing the automated package tests. The reason for this is that the Bioconductor team has decided to set a new environment variable when testing the packages.

The SOLID Principles: a Guide for Object-Oriented Design

The SOLID Principles: a Guide for Object-Oriented Design

0
For designing object-oriented software, five principles have emerged over the years. These principles are summarized by the acronym SOLID, which stands for: S: The single-responsibility principle O: The open-closed principle L: The Liskov substitution principle I: The interface segregation principle D The dependency inversion principle In this post, I aim to give a succinct summary of the principles together with practical examples on how to apply them.