Guest View: Be smart and lazy



Email    print   
November 17, 2008 —  (Page 1 of 3)
Good developers understand that there are many ways to create a working application. Great developers understand that there are few ways to make applications that not only work but also are testable and maintainable. And great managers understand that there is a cost associated with writing inflexible code that is difficult to test and maintain.

Below, I describe five software development practices that will help your organization produce more stable, less costly code that is also flexible. I chose them as a response to poor development practices that I have encountered in past experiences. Each of the suggested development practices will help you deliver more maintainable applications while helping your organization realize maximum value from them.

Use interfaces. Interfaces are your friend. If you are not using interfaces, then you are missing the whole idea of abstraction. Interfaces define the “what,” letting you define the “how” somewhere else. This is important because interfaces represent groups composed of the classes that implement them and can therefore be used to reference those classes.

If you reference concrete classes by the interface(s) they implement, then it becomes possible to change the internal implementation of a class or to implement a different class based on that interface. Practicing this type of abstraction affords you the flexibility to alter the implementation of a class without affecting the interface. In other words, what the class does (the interface) can remain completely unaffected by changes to how the class does it (the class).

Using interfaces gives you flexibility. That is how abstraction leads to reuse. And reuse is a very good thing.

Use design patterns where they make sense. “Design Patterns: Elements of Reusable Object-Oriented Software,” by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, is considered the Bible of object-oriented reusable design patterns. The authors discuss several design patterns and best practices that can be applied across any object-oriented language. It’s a great book, but some developers will thumb through it or read one chapter and then presume to be pattern gurus.



Related Search Term(s): professional development, requirements, testing

Pages 1 2 3 


Share this link: http://sdt.bz/33048
 
Most Read Latest News Blog Resources

Add comment


Name*
Email*  
Country     


  • Comment
Loading




close
NEXT ARTICLE
Third-party tools showcased at Professional Developers Conference
ComponentOne has a new development kit for the iPhone and the iPod Touch, while Infragistics created a version of NetAdvantage for Silverlight. Also, Developer Express and Microsoft announced a joint code-quality effort for C# Read More...
 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 

Download Current Issue
FEBRUARY 2012 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?


 
blogs tab
Are you at risk for burnout?
Burnout is a severe problem and it can strike at any time. Here's how to tell if you are nearing the edge.
02/09/2012 02:16 PM EST

Agility, mom, and apple pie
If we're to evaluate the state-of-the-art in software development, we should start with the values espoused in the Agile Manifesto.
02/07/2012 11:57 AM EST

RIM woos developers with free tablet
How do you get more apps ported to the BlackBerry PlayBook? By giving every developer a free tablet, of course!
02/04/2012 01:57 PM EST

GitHire: Use Headhunters to Find Your Perfect Programmer
Are you a hiring manager tired of scouring the job boards? Check out this new service that will find 5 people interested in your jobs.
02/03/2012 12:17 PM EST

Facebook claims hacker cred
Facebook's SEC S-1 filing form includes a short essay on the Hacker Way by Mark Zuckerberg himself.
02/02/2012 08:26 AM EST

Ryan Dahl steps down
Ryan Dahl, creator of Node.js, steps back from his position as gatekeeper for the project.
02/01/2012 04:58 PM EST

 
Events calendar tab
2/13/2012 to 2/16/2012
Santa Clara
TechWeb

2/26/2012 to 2/29/2012
San Francisco
BZ Media

2/27/2012 to 3/2/2012
San Francisco
RSA

3/4/2012 to 3/7/2012
Las Vegas
IBM Tivoli

3/5/2012 to 3/9/2012
San Francisco
TechWeb