Patterns: Chain of Responsibility

The Chain of Responsibility is one of the major patterns I use in my MicroObject projects. When I have a sequence of events, applying the practices forces things into a very narrow set of forms. I've found one that I feel is the clearest, cleanest, and most inline with the…

The UI - It Does Nothing!

The UI should have no logic That's not strong enough. THE UI MUST DO NOTHING! That's better. The UI is the edge of our system. The edges of our system are hard to test. They interact with things that are not ours. We don't control them and we can't ensure…

Two Years

I've been blogging for two years now. Well... Nearly two years as I write this on Thanksgiving. :) Last year I was in a really good groove cranking out posts. I had a lot fo really new stuff for me. This past 1/2 year has been a bit of a…

Doesn't Affect me

I'm not one to be opening my mouth about these types of things. Let's get that our there right now: I'm super unlikely to identify any of these concerns I'm not gonna be affected if nothing changes My lack of being bothered has zero impact that others are I want…

Tool impact on Developer Discipline - PowerMock

There's a lot of tools that exist to make what developers to easier to do. If it's something we do a lot, we tend to find ways to have something do it for us. I've done it. I'll probably do it again. I built a little tool to automate the…

Tool Impact on Developer Discipline - DI Framework

There's a lot of tools that exist to make what developers to easier to do. If it's something we do a lot, we tend to find ways to have something do it for us. I've done it. I'll probably do it again. I built a little tool to automate the…

Tool impact on Developer Discipline - Language

There's a lot of tools that exist to make what developers to easier to do. If it's something we do a lot, we tend to find ways to have something do it for us. I've done it. I'll probably do it again. I built a little tool to automate the…

Technical Practices: No `new` Inline

No new inline? Coming from a predominately Java and C# background, new is how the language instantiates an object so it's a nice short phrase. When we write a method and need a collaborator, we'll typically instantiate the collaborator right there. public void DoStuff(){ var thing = new Thing(); ... } I consider…

Beneficial Results - Testability

Testability - The only way to not have legacy code. If the code you're working in doesn't have tests - it's legacy code. The more tests you have the less legacy it is. I say this coming from the many conversations I've had about what makes code "legacy code&…

As a Software Engineer

As a Software Engineer, what's our job? As a Software Engineer, what's our responsibility? As a Software Engineer, what do we do for the company? I assume we all have a job description - Is that what we do? Design, Write, Test, and Debug software? At a high, generic level,…