"COMPUTER POWER TO THE PEOPLE! DOWN WITH CYBERCRUD!" - Theodor Nelson
My StuffLoveRespectAdmiration
My AmpsLinksArchives
![]() ![]()
|
Monday, August 23, 2004
Keep it DRY, Shy, and Tell The Other Guy
Andy Hunt and Dave Thomas have hit another home run in their article entitled: "OO In One Sentence". Here are some of my fave tidbits:
four-year old hiding behind a mother’s skirt, code shouldn’t reveal too much of itself and shouldn’t be too nosy into others affairs." AMEN! I see too much code where they are data structures and everything is accessible. It makes for very messy code. With that said, I also think you should always have accessors for your instance variables, but I don't think those methods should be considerd public by any means. Encapsulation is your friend!
because the odds are good that it will end up that way anyhow, and you’ll get a better design as a fringe benefit. Your code shouldn’t care about what else might be happening at the same time; it should just work regardless." Again, I can not stress this enough. I actually had someone ask me why I thought this was good. Now, I have an article to support my claim. Also, if you plan for concurrency, you will avoid all global variable and class variables (at least stateful class variables). Again, your code will be all the better for it. It also forces you to make your code more modular as well. It just has so many benefits. It just makes your design better. It's like writing tests for your code. Testing always shows defiencies in my code and where I can improve the API.
What do I need to say? Don't Repeat Yourself! AMEN!
conveys an air of apathy. I’ve just sent you an order (or a request), and I don’t really care who or what you are or (especially) how you do it. Just get it done. This service-oriented, operationcentric viewpoint is critical to good code. Apathy toward the details, in this case, is just the right approach. You tell an object what to do; you don’t ask it for data (too many details) and attempt to do the work yourself. What all of us Smalltalkers have known for years and years. But, damn, it's good to hear it again! I'm surprised how many developers that claim to be OO, just don't get this. Anyway, the article has a lot of good stuff (and it's only 3 pages!) and you have no excuse not to read it. I love their talk on coupling too. I'm not going to say to much more because I didn't want to quote the entire article...=) But, I'm going to be making multiple copies of this articles and keeping it around me. |
Comments