Robert C. Martin's Weblog
http://www.artima.com/weblogs/index.jsp?blogger=unclebob
Artima Weblogs is a community of bloggers posting on a wide range of topics of interest to software developers.
Artima.comhttp://www.artima.com/images/artima88x33.gif
http://www.artima.com/
Apprenticeship -- The untold story.
http://www.artima.com/weblogs/viewpost.jsp?thread=60208
The trials and tribulations of an apprentice at Object Mentor.
Differentiation through Obfuscation
http://www.artima.com/weblogs/viewpost.jsp?thread=59084
Every software vendor needs to convince you that their product is _different_ from all the others. Unfortunately, one of the most common strategies for differentiation is obfuscation.
The Tortoise and the Hare
http://www.artima.com/weblogs/viewpost.jsp?thread=51769
In software the race goes to those who go well, not those who go fast.
Modelling the real world.
http://www.artima.com/weblogs/viewpost.jsp?thread=37870
The concept of modeling the real world has been so badly abused in the OO community, that I want to find the person who first coined the notion and flay him alive. (not really.)
YAGNI
http://www.artima.com/weblogs/viewpost.jsp?thread=36529
There's a lot of emotional reaction and baggage surrounding this controvertial saying. And yet it's synonymous with the old KISS principle. Keep It Simple Stupid.
Oh No! DTO!
http://www.artima.com/weblogs/viewpost.jsp?thread=36312
Should DTOs have public variables? Or should they have private variables with getters and setters?
Layers, Levels, and DIP
http://www.artima.com/weblogs/viewpost.jsp?thread=35139
It is often said that high level layers should depend on lower level layers. However the Dependency Inversion Principle says that high level policy should not depend upon low level details. What's up with that?
Web Services? What has the industry been smoking?
http://www.artima.com/weblogs/viewpost.jsp?thread=27269
Let's take an old idea, like RPC, and wrap it with some new hype and nomenclature, and then mediate it with a completely orthogonal protocol! Yeah, lets!
Debuggers are a wasteful Timesink
http://www.artima.com/weblogs/viewpost.jsp?thread=23476
As debuggers have grown in power and capability, they have become more and more harmful to the process of software development.
Reference Architecture
http://www.artima.com/weblogs/viewpost.jsp?thread=17799
Is it valuable for an enterprise to adopt a <i>Reference Architecture</i>? If so, how should that RA be used?
Agile Methods. The bottom Line.
http://www.artima.com/weblogs/viewpost.jsp?thread=16880
What are Agile Methods really all about? Is it some new humanistic view of software development? Is it a social revolution? Or is it just plain good business? This blog makes the case for the latter.
We will not ship shit.
http://www.artima.com/weblogs/viewpost.jsp?thread=7588
As software craftsmen, we have rules. Sometimes we feel bad when the rules mut be broken. They're just rules though. What's important is that we have a moral center, a professional core, that refuses to compromise the quality of our work.
Use Cases -- A minimalist's view.
http://www.artima.com/weblogs/viewpost.jsp?thread=6537
Use cases are a wonderful idea that has been vastly overcomplicated. The real trick to use cases is to _keep them simple_. Remember, tomorrow they are going to change.
Now we know.
http://www.artima.com/weblogs/viewpost.jsp?thread=6443
Now we know what God thinks of us.
See http://antwrp.gsfc.nasa.gov/apod/ap030630.html?list=true.
Any Idiot.
http://www.artima.com/weblogs/viewpost.jsp?thread=5170
It doesn't take much brains to build a virus. What takes brains is building software that other people want to buy.