- Bought a vanity domain earlier this week from @dnsimple and now my phone is blowing up with solicitors, scammers, a… twitter.com/i/web/status/9… 6 hours ago
- Big news. twitter.com/auth0/status/9… 7 hours ago
- It seems that all technical advice boils down to "Stop, Think, Execute, Verify." Skip any one item on the list and… twitter.com/i/web/status/9… 1 day ago
- Hey, @shanselman I recently interviewed on @2ndCareerDevs and think it turned out really well. Would love to be a g… twitter.com/i/web/status/9… 1 day ago
- Hey, @ShawnWildermuth I recently interviewed on @2ndCareerDevs and think it turned out really well. Would love to b… twitter.com/i/web/status/9… 1 day ago
Eric Lee: Yes, SRP Violations Hurt
April 19, 2010Posted by on
Eric Lee has been blogging about his experiences writing a game engine called GenesisEngine using agile techniques and philosophies. The entire series is a great read but the most recent really resonates with me especially put in the context of the last couple projects I have been involved with. It always seem that deadlines push us to work faster and cut corners, while the entire time we slow down gradually over time fixing all the little things we didn’t take the time to fully explore the first time around. We quite literally shot ourselves in the foot and work four times as hard to meet the same deadline.
This particular quote, sounds like hard earned wisdom:
The code that I need to make more complex with threading and async logic is exactly the code that’s already overly-complex and obtuse and isn’t fully covered by tests. Ah, ok, now we see the downside of technical debt. You get a quick spike of progress and then a long, slow, painful slide into hell.
If you are curious about what SRP is, it stands for Single Responsibility principal and is the S in the acronym SOLID as coined by Robert Martin some time back around 1995. You can read the original white papers here.
Oh and did I mention that Eric is our next speaker at the South Sound .NET Users Group meeting? Oh and he will be presenting an introduction to Agile. If any of this piques your curiosity, come check it out. It will be worth your while.