Technical Practices: Never Return Your Data

No Getters That's the normal form of this technical practice. No Getters There's some uncertainity around what "No Getters" means. OK, there's two versions of it. Yegor Bugayenko in Elegant Objects Vol. 1 [https://quinngil.com/2017/08/06/book-review-elegant-objects-vol-1/] says, >…

µObjects: Fluent Types

I expect us all to be aware of the anti-pattern Primitive Obsession. If not - there [http://wiki.c2.com/?PrimitiveObsession] are [https://refactoring.guru/smells/primitive-obsession] some [http://blog.thecodewhisperer.com/permalink/primitive-obsession-obsession] quick [http://blog.ploeh.dk/2011/05/25/DesignSmellPrimitiveObsession/] resources [https://lostechies.com/jimmybogard/2007/12/…

µObjects: Where our code meets the user

There's a couple types of places where the code we write interacts with the code someone else wrote. This could be another team, a 3rd party library, or the operating system. When we interact with these components, we're tying our code to their code in some…

µObjects: Where code meets Operating System

There's a couple types of places where the code we write interacts with the code someone else wrote. This could be another team, a 3rd party library, or the operating system. When we interact with these components, we're tying our code to their code in some…

µObjects: Composition over Inheritance

Inheritance is a code smell. Composition over Inheritance This is a known suggestion to improve the maintainability of software. How does this play into microObjects? Everything has a single responsibility. It's doing A thing; as I talk about in µObjects: Principles to code by [https://quinngil.com/2017/…

µObjects: When to instantiate

In object oriented programming we need to create objects. It's kinda how things get done. Here's a high level question for you - When do we instantiate an object? Pull up a few source files - Where do you see object creation happening? Is it scattered…

µObjects: Small and Focused

Our goal as software developers is to produce code that can be easily maintained. This is frequently a challenge; as writing good code is hard. µObjects is a way of Object Oriented Programming that I've found gives us this. There are a number of ways that µObjects improve…

µObjects: Principles to code by

How do we improve the quality of code produced by our industry? That's what I want to see happen. It's a young industry which is largely trying to figure out how to produce high quality code. It's fairly effortless to make a computer do…