Profile cover photo
Profile photo
Michael Feathers
2,144 followers
2,144 followers
About
Michael's posts

Post has attachment

Post has attachment

The Final State Fallacy - projecting a future in which you look back at the present and think that you've made the best decision for all time.

Post has attachment

Post has attachment

Post has attachment
'Non-null parameters should be an assumed global precondition for sane systems'

http://haacked.com/archive/2013/01/04/mitigate-the-billion-dollar-mistake-with-aspects.aspx

This is a nice technique, but I disagree with the motivating example. I don't think there are any good reasons to pass null as an argument.  Unless it is a safety-critical system it should be enough for users of an API to learn through trial and error that non-null arguments are a global precondition for sane systems.

More here:
http://www.artima.com/weblogs/viewpost.jsp?thread=168511

Post has attachment
I think this conflates use of a DI framework with the sort of separation of concerns that TDD leads you to:

https://www.tbray.org/ongoing/When/201x/2013/01/06/Unit-testing-and-dependency-injection

My point of view is that it is just cleaner to have your logic pulled away from your dependencies.  Doing that does not require a DI framework.

The Soft Loop

I've been reflecting a bit about the state of the industry and taking some time to compare it to others.  I know it is hard to paint the software industry with a wide brush.  There are so many disconnected subgroups with different lineages - an ethnologist would have a field day with us.  But, one thing that does seem true to me is that we do a very good job of incorporating ideas.  We are idea-hungry.

I think that part of the reason for this is because software is almost always about something else.  We have to deep into a domain and understand it well enough to automate it or augment it.  It's only natural that some of it sticks and becomes fodder for our own.

If I was in charge of K-6 education, my priority would be to teach kids not to assume linearity in trends and uniformity in distributions.
Wait while more posts are being loaded