Design & Development Principles - XP - Quality Circle - Part 1

As a reminder; CIRCLES! This post is going to talk about the Green Circle. Another reminder is the tight interconnection between all of the components. I posted about the blue Keyboard Circle [https://quinngil.com/2017/04/02/design-development-principles-xp-keyboard-circle/] a while back. It's time to talk about the…

µObject : Battleship

At Agile Open Northwest, I had the opportunity to explore µObjects through a battleship kata. I felt the environment and process doing it during the mobbing session were a bit more contrived than I normally work with. Fortunately the limited amount we got through did show some of the power…

TagAlong: ReSharper Plugin

This is my first attempt at creating a plugin for ReSharper. It seems very daunting at first. It's taken me a few hours to actually figure out the base of what I wanted to do. This isn't due to poor documentation; but unfamiliarity with how. Once…

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…

Patterns: Null Object

I've covered never having nulls [https://quinngil.com/2017/10/15/uobjects-no-nulls/] and that's what the NullObject [http://wiki.c2.com/?NullObject] pattern is here to help us with. The NullObject pattern is one that I tried to implement earlier in my career (mostly after reading…

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…

My Thoughts: 'Interface' isn't harmful

My thoughts about Object Oriented Programming has evolved over the years. Especially in the past 6 months. My development of MicroObjects has caused a lot of thinking about Object Oriented Programming and how to develop better and more maintainable software. A lot of great discussions that have certainly helped drive…