Technical Practices: Low Coupling

Low coupling can mean a few flavors of things depending on your context. My general definition of Low Coupling is "Not knowing what it is, just what it does". This allows us to interact with objects without knowing the underlying implementation, and unable to make any assumptiosn about…

Quick: MicroObjects and Json

A question on twitter has moved forward doing an example of serialization and deserialization. This is gonna be a pretty quick example and blog post as this is being done so that I can provide a code sample as my answer to the asker! I'm going to use…

Beneficial Results: Code Reuse

I don't remember exactly where or who, but writing re-usable code was impressed upon me as an important thing I now completely disagree with that. > Do not write reusable code. One of the worst things you can do when writing code is to make it "re-usable&…

Teach Yourself MicroObjects: Output the Data

Encapsulation - it's a huge part of what allows us to be highly effective developers. It's what MicroObjects is about. Encapsulation is the highest thing to strive for when striving to write good code. If we encapsulate our data so effectively that we can never just…

Teach Yourself MicroObjects: Add Two Ints

I'm working on ways I can share the practices and mindset that allows me to create MicroObjects. One of the suggestions I've gotten from a co-worker, John [https://twitter.com/jeboal], was to create as simple of a project as possible and show my steps to…

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: Unit Testable UI Interactions

This is a follow up to the Hotel Pattern [https://quinngil.com/2017/07/09/the-hotel-pattern-2/] which I've pretty much abandoned, though it's concepts and ideas have evolved into my current practices. It ties into the Interface Overload [https://quinngil.com/2017/05/21/interface-overloading/] mechanism…

My Thoughts: Pass through vs Base class

A conflict that has come up a few times is using composition and a pass through or a base class I favor pass through; I write it that way Everytime. The other engineer on the project favors a base class. Here's an example of what we've…