- Preface to The MMIX Supplement: Supplement to The Art of Computer Programming Volumes 1, 2, 3 by Donald E. Knuth
-
By
Martin Ruckert
- Feb 11, 2015
- Martin Ruckert introduces The MMIX Supplement, where Ruckert has rewritten all MIX example programs from Donald Knuth’s Volumes 1-3 for MMIX, thus completing this MMIX update to the original classic.
|
- Preface to The Software Craftsman: Professionalism, Pragmatism, Pride
-
By
Sandro Mancuso
- Dec 1, 2014
- In this preface to The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso tells the story of how he learned about the concept of software craftsmanship as a young programmer in Brazil.
|
- Pretending to Be Agile
-
By
Pete McBreen
- Mar 15, 2002
- Agile is in. Many processes and projects are jumping on the bandwagon and claiming to be Agile, so what are the telltale signs that what you have is a traditional process just pretending to be Agile?
|
- Programming with SOLID Principles
-
By
Jesse Smith
- Mar 23, 2015
- Introduced by software engineer Robert Martin in the early 2000s, the five basic SOLID principles for good object-oriented programming design discussed in this article make code-bases more clean and maintainable. Jesse Smith shows you how the principles discussed here enable you to create more flexible, robust and reusable code.
|
- Programming: Principles and Practice Using C++: Vectors and Arrays
-
By
Bjarne Stroustrup
- May 29, 2014
- This chapter from Bjarne Stroustrup's Programming: Principles and Practice Using C++, 2nd Edition describes how vectors are copied and accessed through subscripting.
|
- Prologue: Software Architectures and Documentation
-
By
Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, Judith Stafford
- Nov 11, 2010
- This prologue to Documenting Software Architectures: Views and Beyond, 2nd Edition begins with short overviews of software architecture and architecture documentation and then discusses architecture views, architecture styles and rules for sound documentation.
|
- Protect C++ Legacy Programs by Using Python
-
By
Stephen B. Morris
- Feb 11, 2014
- Stephen B. Morris illustrates a simple way to execute C++ programs by using Python. This approach is lightweight and yet robust, taking advantage of Python's powerful exception-management facilities. Learn how to achieve deeper integration between C++ and Python, while addressing important design issues.
|
- 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.
|
- Putting the "Journey" in Journeyman Software Developer: An Interview with Corey Haines
-
By
Matthew Heusser, Corey Haines
- Jul 25, 2011
- When it comes to putting the craft back into programming, a handful of names might come to mind, and Corey Haines is one of them. Matthew Heusser talked with Corey about software craft, his journeyman project, and that great big project he is working on next.
|
- Quality By Design, Part 1: Avoiding Rotten Code
-
By
Pete McBreen
- May 31, 2002
- We all have to face the fact that some software stinks; it doesn't work right or it just plain feels wrong. Fixing these problems is simple, but may not be easy. We have to understand the nature of software development and make sure that we allow ourselves enough time to do a good job.
|
- 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?
|
- Robert C. Martin's Clean Code Tip #12: Eliminate Boolean Arguments
-
By
Robert C. Martin
- Aug 25, 2009
- We join "The Craftsman," Robert C. Martin's series on an interstellar spacecraft where programmers hone their coding skills. In this twelfth tip in the series, the crew learns that Boolean arguments loudly declare that the function does more than one thing. They are confusing and should be eliminated.
|
- 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 #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 #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 #5: Avoid Redundant Comments
-
By
Robert C. Martin
- Feb 18, 2009
- In this fifth tip in the series, the programmers discuss redundant comments, which describes something that adequately describes itself.
|
- Robert C. Martin's Clean Code Tip of the Week #6: Avoid Poorly Written Comments
-
By
Robert C. Martin
- Feb 27, 2009
- We join "The Craftsman," Robert C. Martin's series on an interstellar spacecraft where programmers hone their coding skills. In this sixth tip in the series, the crewmen try to interpret a poorly worded comment.
|
- Robert C. Martin's Clean Code Tip of the Week #7: Clean up Old Commented Out Code
-
By
Robert C. Martin
- Mar 30, 2009
- Robert C. Martin explains why old commented-out code is an abomination.
|
- Robert C. Martin's Clean Code Tip of the Week #8: Your Build Shouldn't Require More Than One Step
-
By
Robert C. Martin
- May 16, 2009
- We join "The Craftsman," Robert C. Martin's series on an interstellar spacecraft where programmers hone their coding skills. In this eighth tip in the series, the crewmen learn that building a project should be a single trivial operation.
|
- Safety in Numbers: Introducing C++14's Binary Literals, Digit Separators, and Variable Templates
-
By
Danny Kalev
- May 14, 2014
- Danny Kalev highlights three new core features in C++14 that simplify the design and implementation of numeric apps. Binary literals such as 0b10101 enable you to parse binary numbers without the onus of converting them to decimal; the new digit separator improves code readability; and, finally, variable templates let you define parameterized constants instead of resorting to cumbersome static member functions.
|