Technical Practices: Trust Your Code

There's a few ways I've talked about this historically. One of the biggest that is probably well recognized in the industry > No Nulls Do not let nulls into your code. Clean Code touches the idea > All it takes is one missing null check to…

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…

Technical Practices: Switch and Else always evil

> No Getters [https://quinngil.com/2018/05/06/uobjects-never-return-your-data/] We've covered why we don't use getters. This reason is the fundamental principle driving all of Object Oriented Programming. Encapsulate Behavior. > Encapsulating behavior allows changes to that behavior with a guarantee it is changed across…

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…

Quick: BookEnd for HttpClient

At a GREAT [Seattle Software Craftsmanshi [https://www.meetup.com/seattle-software-craftsmanship/] meetup where David Bernstein [https://tobeagile.com/] gave a talk, there was a question at the end that really piqued my interest. The question was, paraphrased: > How can we get tests for something using the HttpClient? This is…

Technical Practices: High Cohesion

I see High Cohesion as a key component of getting single responsibility into code. Hopefully it's clear from my blogging that there's far more to it than just one thing, but a class that is does not have High Cohesion cannot have a single responsibility. Why…

Technical Practices: No Primitives

No Primities. My idea with not using the default data types centers around them being data storage. Working on object oriented langauges, we don't need to be concerned about the raw data storage mechanism. > We deal with objects that communicate with each other, not raw data we…

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&…