Writers' Community!
Home Page Two Columnists Q&A Submit an Article FAQs Contact Author Login
Article Submission
We Need YOUR Articles!
We'll Promote Them for FREE!

Author Login

New Authors
Register Here


Now Serving 7,784 Authors
70,498 Quality Articles
& 5,131 Current Users Online!
Featured Authors
Mogama (16,433)
Bruce Horst (138)
Joel Hendon (17,877)
Michael Ramzy (633)
E. Raymond Rock (3,064)
Ira Coffin (7,406)
Connor Davidson (5,137)
Ben Morrish (8,401)
Steve Kovacs (4,388)
Sandra E. Graham (8,072)
Fran Larson (2,158)
Shari Vaudo (418)
David Tanguay (9,593)
Missing Link (708)

View All Featured Authors
Most Recent
Jazz Up and Organize Your Inbox with Color Categories

Preventing Malware While Browsing The Internet

Should A Cad Come With The Operation System?

Should A Cad Come With The Operation System?

How To Setup An Email Out of Office Auto Reply In Mircosoft Outlook

How can I open a 2007 Microsoft Office file in an earlier version of Office?

What are the Key Requirements for Privacy Control Software?

Wny Do You Need Open Source Audits

No Programming Web Design

Learn How To Control Your Computers Privacy

Home » Categories » Computers & Networking » Software » Five Tips For Effective Object-Orientation In C++ » Printer Friendly

V Berba Velasco Jr  PhD

Five Tips For Effective Object-Orientation In C++

Rated 3.5 out of 5
No Reader Ratings Available ?
Rate It  /  View Comments  /  View All Articles submitted by V Berba Velasco Jr PhD
Submitted Monday, August 21, 2006
V Berba Velasco Jr PhD (564)
V Berba Velasco Jr PhD

Articles and Stuff
Log in to become a member of V Berba Velasco Jr PhD's Fan Club!


Spurgeon’s Law says that 90% of everything is crap. This certainly holds true in the world of software development, and especially when it comes to object-orientation and C++ programming. This is largely due to the pervasiveness and complexity of C++; it’s one of the most commonly used object-oriented languages, and yet few people know how to use it effectively. Couple this with the fact that few programmers truly grasp the object-oriented programming philosophy and you have an instant recipe for sloppy code.

Volumes can be—and have been—written on how to develop proper object-oriented software designs using C++. Obviously, there won’t be space in this article for a truly thorough discussion; however, I would like to present a few quick, simple and effective tips for developing robust C++ software.

1. Work on the class designs first before deciding on the precise sequence of operations. Many programmers fancy themselves as doing object-oriented programming, but in reality, they use structured programming with some external object-oriented trappings. Ideally, one should first select a set of software objects that provide a logical abstraction of the software, then work on the sequence of operations. (This is by no means an absolute rule though, as the process of developing this sequence often reveals ways in which the object design can be refined.)

2. Avoid using public ‘get’ and ‘set’ member functions. Getters and setters are not inherently bad; however, they are often a sign of poor software abstraction. ‘Get’ and ‘set’ functions implicitly force the user to think in terms of the object’s internal data (i.e. whatever these functions are getting or setting), and such details should ideally be hidden from the object’s user. Getters and setters have their place, but please use them sparingly.

3. Think in terms of design patterns. Design patterns allow someone to draw on years of problem-solving experience within the computer science community. Instead of reinventing the wheel, why not just pick one off the shelf?

4. Avoid double indirection. C programmers are forced to work with pointers, and so they are used to having pointers to pointers throughout their code. This can often lead to confusing code, due to the all-too-familiar problems of NULL references and pointer arithmetic. In contrast, C++ programmers are under no such constraints, due to the built-in support for variable references in C++; that is, one can always use references to pointers instead, which makes the code much easier to understand. (Hint: If a C++ programmer uses double indirection, that’s a clear sign that he’s still thinking like an inexperienced C hack!)

5. Use ‘const’ objects and ‘const’ functions whenever possible. If you know that an object’s data is never supposed to be modified, then declare the object to be ‘const’. This will prevent you—or worse, a naïve colleague--from accidentally modifying its state later on. Of course, one should also declare the appropriate member functions to be ‘const’ as well, to properly enforce this rule.

About the author:

V. B. Velasco Jr., Ph.D. has worked as an electrical and software engineer for more than a decade and places a premium on elegant software design. He maintains a small, rudimentary website devoted to some of his casual interests.






Reprint Rights

Log in to become a member of V Berba Velasco Jr PhD's Fan Club!

No comments yet.


Was this article helpful to you? Leave a Public Comment or Question:

This Article has been viewed 33 times.
Article added to SearchWarp.com on 8/21/2006 12:14:03 AM.
View other articles written by V Berba Velasco Jr PhD (564)
V Berba Velasco Jr PhD


If you found this article interesting, you may want to check out:

Disclaimer:  All information on this site is provided for informational purposes only! By no means is any information presented herein intended to substitute for the advice provided to you by any health care or other professional or organization.


Today's Most Popular
Improve PC Performance - 6 Tips You Must Know.

Linux Command Tutorials - Opening a Linux Terminal / Console to Run Linux Commands - Tutorial Help

Elimination of Spooler Subsystem App problem. Easy and quick.

The Advantages of Using Windows Vista

What Shows Up On a Criminal Record Background Check?

Software Development Lifecycle (SDLC) - Overall Project Measurement

Linux Commands Tutorials - Using the man Command with Examples of Options - A Hands-On Tutorial Help

What is Software Piracy?

Introduction to DQL-Documentum Query Language

Linux Commands Tutorials - Using the ls Command with Examples of Options - A Hands-On Tutorial Help

Viewed from Cache. Load Time: 0.016.

Home  |  Page Two  |  FAQ's  |  Contact  |  Terms of Service  |  Article Submission Guidelines  |  Questions & Answers  |  Privacy  |  Mission / About
Copyright © 1999-2009 SearchWarp.com, All Rights Reserved - SearchWarp.com is an IcoLogic, Inc. Company