Software engineering is hard, and I’m lazy. I strongly dislike unnecessary work. So, if code is going to be around for a while, I build it to be easy to maintain. I work in object oriented languages, usually Dart, and a key consideration in such languages is whether to make…