Category Archives: SOLID

Own Your Work

This post is mostly here to share a link. Jeremy Miller posted ‘“Code Complete” is a polite fiction, “Done, done, done” is the hard truth‘. Before clicking through I thought I was going to disagree. After reading through, I agree … Continue reading 

| Leave a comment

Take 2: Why we use SOLID in static languages and how we get the same functionality for cheap in dynamic languages

One of the things we do pretty well at Los Techies is explaining SOLID principles and why they make our code more maintainable and if you’re not familiar with our work on SOLID,  read Chad Meyer’s post to get an … Continue reading 

Also posted in Dynamic Langs, Python | 8 Comments

How We Do Things – Evolving our TDD/BDD Practice

This content comes solely from my experience, study, and a lot of trial and error (mostly error). I make no claims stating that which works for me will work for you. As with all things, your mileage may vary, and … Continue reading 

Also posted in Dynamic Langs, IoC | 6 Comments

Well-constructed != Over-architected

Let’s imagine for a moment that we’re building a dog house for our beloved family pet. We want it to protect Rover from the elements, be a comfortable place for him to escape the sun and relax, and in general, … Continue reading 

Also posted in Learning | Leave a comment

Using the Specification Pattern for Querying

The specification pattern is great for adhering to the Single Responsibility Principle (SRP). The reason it can be so powerful is that it encapsulates one piece of logic, and nothing more. I’ve decided to come up with some code that … Continue reading 

Also posted in Dynamic Langs, IoC, Python | 10 Comments

Demeter Helps You Fend Off the One True Constant: Change

There have been some good discussion lately around the Law of Demeter.  The worst thing about Law of Demeter is that it has the word “Law” in it.  Like all of the SOLID principles, it should be considered a rule … Continue reading 

Also posted in Dynamic Langs, IoC | 6 Comments

Anti-Patterns and Worst Practices – Monster Objects

Monster objects (or God objects) know too much, or do too much; monster objects are nasty beasts. The term God object was coined because these objects are said to be “all-knowing”. I’m in favor of the term Monster objects because … Continue reading 

Also posted in Authkit, Pylons, Python | 6 Comments

Anti-Patterns and Worst Practices – You’re Doing it Wrong!

When shown ideal code, I think developers understand why it is favorable. When it is regarding Separation of Concerns (SoC) or Single Responsibility Principle (SRP) the consensus is something along the lines of “of course, that makes sense”. But not … Continue reading 

Also posted in Pylons, Python, SqlAlchemy | 3 Comments

PTOM – Brownfield development – Making your dependencies explicit

Introducing DI and “poor man’s DI” Introduction Greenfield Development happens when you start a brand new project, as in, clean slate development. No legacy code lying around, no old development to maintain. You’re starting afresh, from scratch, from a blank … Continue reading 

Also posted in Learning | 2 Comments

Need Help Spotting that Hard to Test Code?

I’m a big fan of Jon Lam’s Vibrant Ink Visual Studio theme. Here’s why: If you look at the syntax highlighting in the following code, you’ll see some yellow text. In this theme, or any any other theme that does … Continue reading 

Also posted in Uncategorized | Leave a comment