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 JSON as…

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 is that? A class…

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 process. Then how…

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" before you…

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 access the data... how…

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, was to create as simple of a project as possible and show my steps to breaking it into MicroObjects. FizzBuzz as a project…

Book Review: Java by Comparison

I got Java By Comparison from Amazon a while ago. I wasn't impressed with what my initial page flipping showed me. I skimmed it and largely evaluated based on name and example code. Feel free to ignore my review based on the fact I skimmed. Any Code Crafter book has…