- Robert C. Martin's Clean Code Tip of the Week #4: Avoid Obsolete Comments
-
By
Robert C. Martin
- Feb 11, 2009
- A comment that has gotten old, irrelevant, and incorrect is obsolete. Obsolete comments tend to migrate away from the code they once described and become floating islands of irrelevance and misdirection.
|
- Robert C. Martin's Clean Code Tip of the Week #3: Avoid Inappropriate Information
-
By
Robert C. Martin
- Jan 28, 2009
- In this third tip of the series, programmers discuss how to avoid inappropriate information.
|
- Robert C. Martin's Clean Code Tip of the Week #2: The Inverse Scope Law of Function Names
-
By
Robert C. Martin
- Jan 21, 2009
- The longer the scope of a function, the shorter its name should be.
|
- Robert C. Martinโs Clean Code Tip of the Week #1: An Accidental Doppelgänger in Ruby
-
By
Robert C. Martin
- Jan 7, 2009
- Robert C. Martin investigates an interesting dilemma: if the implementation of two functions is identical, yet their intent is completely different, is it still duplicate code?
|
- What Is Clean Code?
-
By
Robert C. Martin
- Aug 19, 2008
- Robert C. Martin introduces his book, Clean Code, and polls experienced programmers -- including Bjarne Stroustrup, Grady Booch, Dave Thomas, and Ward Cunningham -- on what their definition of "Clean Code" is.
|
- Iterating Through Containers in C++, with Some Help from Boost's Lambda Library and Friends
-
By
Jeff Cogswell
- Jul 29, 2005
- Don't be jealous of programmers using new languages, such as Python or C#! C++ gives you many ways to iterate through data you've stored in containers, supports
for-each , and has helpful devices called lambda functions. Jeff Cogswell shows you how you can fly through your containers with ease.
|
- Stroustrup on C++: C++ in 2005
-
By
Bjarne Stroustrup
- Jul 8, 2005
- In the Japanese edition of his latest book, Bjarne Stroustrup added an extended essay, reflecting on C++ use over the last decade, and presenting plausible directions for the next revision of the C++ standard.
|
- Adding an Easy File Save and File Load Mechanism to Your C++ Program
-
By
Jeff Cogswell
- Jul 1, 2005
- Why waste your time figuring out an algorithm for storing things in a file? And why spend time debugging the code? Let the Boost library do it for you. Saving your data to your own custom-made file formats is easy with the help of the Boost serialization templates. Jeff Cogswell shows you how to save the data and read it back in with ease.
|
- Publish and Subscribe Using C++ and the Observer Pattern
-
By
Stephen B. Morris
- May 27, 2005
- Separation of concerns is increasingly on the programmer's radar. Given the growing range of data access products and platforms, it is now essential to separate data producers from data consumers. The observer pattern provides a simple but powerful model for achieving this crucial design goal.
|
- C++ Coding Standards: Take Parameters Appropriately by Value, (Smart) Pointer, or Reference
-
By
Herb Sutter, Andrei Alexandrescu
- May 6, 2005
- Choosing well among values, references, and pointers for parameters is good habit that maximizes both safety and efficiency. This chapter from Herb Sutter and Andrei Alexandrescu will help you do just that.
|
- C++ Coding Standards: Report, Handle, and Translate Errors Appropriately
-
By
Herb Sutter, Andrei Alexandrescu
- Apr 29, 2005
- In C++, as in all coding, it is important to address errors as soon as they are detected. This chapter provides the process for dealing with errors in a precise and prompt manner.
|
- Exceptional C++ Style: Index Tables
-
By
Herb Sutter
- Apr 15, 2005
- It may seem obvious, but clear, concise code benefits everyone in the process. This sample chapter from Exceptional C++ Style explains in detail how clear code enhances productivity at every step of the way, not just for programmers and debuggers.
|
- An In-Depth Look at Metafunctions in C++
-
By
Aleksey Gurtovoy, David Abrahams
- Apr 1, 2005
- This chapter looks at a practical example from science and engineering that can find applications in almost any numerical code. Along the way, you'll learn some important new concepts and get a taste of metaprogramming at a high level using the MPL.
|
- C++ Tip #83: Use a Checked STL Implementation
-
By
Herb Sutter, Andrei Alexandrescu
- Mar 18, 2005
- In C++, it's all too easy to make iterator mistakes, and you may not even detect them when compiling and running your program. That's the bad news. The good news is that you don't have to run blind. There are tools for checking your code for these errors, and this chapter will tell you how to use them.
|
- Construction Unions: A C++ Challenge
-
By
Herb Sutter
- Feb 4, 2005
- In this C++ Challenge, Herb Sutter throws down the gauntlet. Can you get around the C++ rule of using constructed objects as members of unions? Find out the answer in this sample chapter.
|
- Designing and Writing Generic Facilities: A C++ Challenge
-
By
Herb Sutter
- Jan 28, 2005
- This chapter provides you with the opportunity to flex your C++ muscles by critiquing a piece of code. Can you find a better way to optimize this code for idiomatic usage? Find out in this challenge from Herb Sutter.
|
- Smart Pointers in C++
-
By
Andrei Alexandrescu
- Apr 18, 2003
- Andrei Alexandrescu discusses smart pointers, from their simplest aspects to their most complex ones and from the most obvious errors in implementing them to the subtlest ones—some of which also happen to be the most gruesome.
|
- In Praise of C and C++
-
By
Pete McBreen
- Jul 19, 2002
- See why many developers prefer C and C++ over other rapid development tools. C and C++ enable developers to create long-lived predictable applications and to interface to legacy code on practically any platform.
|
- Using Library Algorithms in C++
-
By
Andrew Koenig, Barbara E. Moo
- Feb 15, 2002
- By using the standard algorithms provided by the library's common interfaces, you can avoid rewriting code. Andrew Koenig and Barbara Moo show how to write smaller, simpler programs with this approach.
|
- Multithreading and the C++ Type System
-
By
Andrei Alexandrescu
- Feb 8, 2002
- Multithreaded programming is unwieldy, to say the least. You need all the help you can get, especially when your own compiler can graciously provide it.
|