Design and coding style rules are distilled from the examples. Understanding and following these rules will help professional programmers design and write better C++ programs. A chapter is devoted to each of the following topics: * abstractions * operator overloading * consistency * wrappers * unnecessary inheritance * efficiency * virtual functions Building on the programming rules introduced in the first seven chapters, Cargill presents a case study in which a single program undergoes repeated transformations that improve its overall quality while reducing its size. The book concludes with a chapter on multiple inheritance.
"synopsis" may belong to another edition of this title.
Almost two decades after the publication of Kernighan and Plauger's classic, The Elements of Programming Style, its compact set of rules remains the best general guidance on good programming. Today, however, our programs are larger and our programming languages have changed. We now care as much about how the components of a program fit together as we do about the algorithms and data structures used in each component. DeRemer and Kron coined the terms programming-in-the-large and programming-in-the-small to make a distinction between the large-scale and small-scale aspects of programs. By programming-in-the-small, they meant dealing with components of a program that are "one to a few pages long" - the size of a typical C++ class. By programming-in-the-large, they meant the structuring of in-the-small components into a program - in C++ terms, dealing with relationships between classes. Kernighan and Plauger concentrated their work on the issues of programming-in-the-small. Their advice about programming-in-the-large is sound, but minimal.
Modularize. Use subroutines.
This book addresses programming style, with more emphasis on programming-in-the-large, and is restricted to the domain of C++ programs. It is written for the programmer who has learned the mechanics of C++, but is experiencing difficulty in applying the language features - particularly the object-oriented features - to programming problems. Though the discussion is limited to C++, many of the observations about programming are true of other languages. I leave the treatment of language-independent style in-the-large to more ambitious authors.
I have adopted Kernighan and Plauger's method of distilling rules of programming style from the critical reading and rewriting of programs. All the programs used here are taken from textbooks, magazine articles and tutorials on C++ programming. None was created artificially for this work. Some programs are presented exactly as originally published, while others have been altered cosmetically. The alterations range from the correction of in-the-small bugs, which would only distract, to structure-preserving transformations of programs for which copyright was not obtained.
The spirit in which to approach the material is that of an "egoless" code review. We all learn by reading and reviewing each other's programs. The material is not a criticism of individual programmers - it seeks only to differentiate between good and bad programs. No doubt the programs that are presented here as "better" versions have their own shortcomings. The reader is encouraged to examine these programs critically, looking for further improvements in programming style.
0201563657P04062001
C++ supports programming-in-the-large, allowing relationships between different parts of a program to be expressed. The scope of C++ programming style therefore goes beyond traditional in-the-small issues which relate to the details of line-by-line coding. This book examines the use of the in-the-large language features of C++, which sometimes confuse even experienced programmers. The author demonstrates that unwarranted use of the more powerful language features may lead to cluttered programs which are harder to comprehend and sometimes less efficient than more straightforward alternatives. Cargill rewrites several programs, using techniques that range from improving consistency to removing redundant inheritance. The presentation simulates a code review, in which readers may independently evaluate and criticize alternative approaches to programming problems, and then compare their analyses with those of the author.
Design and coding style rules are distilled from the examples. Understanding and following these rules will help professional programmers design and write better C++ programs.
A chapter is devoted to each of the following topics:
0201563657B04062001
"About this title" may belong to another edition of this title.
Shipping:
FREE
Within U.S.A.
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00067655775
Quantity: 2 available
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Acceptable. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00068439931
Quantity: 1 available
Seller: More Than Words, Waltham, MA, U.S.A.
Condition: Very Good. . . All orders guaranteed and ship within 24 hours. Before placing your order for please contact us for confirmation on the book's binding. Check out our other listings to add to your order for discounted shipping. Seller Inventory # BOS-N-03b-01237
Quantity: 1 available
Seller: Once Upon A Time Books, Siloam Springs, AR, U.S.A.
paperback. Condition: Acceptable. This is a used book. It may contain highlighting/underlining and/or the book may show heavier signs of wear . It may also be ex-library or without dustjacket. This is a used book. It may contain highlighting/underlining and/or the book may show heavier signs of wear . It may also be ex-library or without dustjacket. Seller Inventory # mon0000856521
Quantity: 1 available
Seller: Wonder Book, Frederick, MD, U.S.A.
Condition: Good. Good condition. A copy that has been read but remains intact. May contain markings such as bookplates, stamps, limited notes and highlighting, or a few light stains. Seller Inventory # E07A-03265
Quantity: 1 available
Seller: Wonder Book, Frederick, MD, U.S.A.
Condition: Fair. Acceptable condition. Former Library book. Stamped on inside. (Computers, Programming, Computer Science). Seller Inventory # S04O-00775
Quantity: 1 available
Seller: Austin Goodwill 1101, Austin, TX, U.S.A.
Condition: Acceptable. Get fast and secure shipping knowing your purchase helps empower our community to transform their lives through work. Seller Inventory # 4RZURM0003L6
Quantity: 1 available
Seller: ThriftBooks-Reno, Reno, NV, U.S.A.
Paperback. Condition: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 1. Seller Inventory # G0201563657I4N00
Quantity: 1 available
Seller: ThriftBooks-Phoenix, Phoenix, AZ, U.S.A.
Paperback. Condition: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 1. Seller Inventory # G0201563657I4N00
Quantity: 1 available
Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 1. Seller Inventory # G0201563657I4N00
Quantity: 1 available