SØG - mellem flere end 8 millioner bøger:
Viser: C++ Coding Standards - 101 Rules, Guidelines, and Best Practices
C++ Coding Standards Vital Source e-bog
Herb Sutter
(2004)
C++ Coding Standards Vital Source e-bog
Herb Sutter
(2004)
C++ Coding Standards Vital Source e-bog
Herb Sutter
(2004)
C++ Coding Standards
101 Rules, Guidelines, and Best Practices
Herb Sutter, Andrei Alexandrescu og John John Fuller
(2004)
Sprog: Engelsk
om ca. 10 hverdage
Detaljer om varen
- 1. Udgave
- Vital Source 90 day rentals (dynamic pages): 240 sider
- Udgiver: Pearson International (Oktober 2004)
- ISBN: 9780132654425R90
Bookshelf online: 90 dage fra købsdato.
Bookshelf appen: 90 dage fra købsdato.
Udgiveren oplyser at følgende begrænsninger er gældende for dette produkt:
Print: 2 sider kan printes ad gangen
Copy: højest 2 sider i alt kan kopieres (copy/paste)
Detaljer om varen
- 1. Udgave
- Vital Source 365 day rentals (dynamic pages): 240 sider
- Udgiver: Pearson International (Oktober 2004)
- ISBN: 9780132654425R365
Bookshelf online: 5 år fra købsdato.
Bookshelf appen: 5 år fra købsdato.
Udgiveren oplyser at følgende begrænsninger er gældende for dette produkt:
Print: 2 sider kan printes ad gangen
Copy: højest 2 sider i alt kan kopieres (copy/paste)
Detaljer om varen
- 1. Udgave
- Vital Source 180 day rentals (dynamic pages): 240 sider
- Udgiver: Pearson International (Oktober 2004)
- ISBN: 9780132654425R180
Bookshelf online: 180 dage fra købsdato.
Bookshelf appen: 180 dage fra købsdato.
Udgiveren oplyser at følgende begrænsninger er gældende for dette produkt:
Print: 2 sider kan printes ad gangen
Copy: højest 2 sider i alt kan kopieres (copy/paste)
Detaljer om varen
- Paperback: 240 sider
- Udgiver: Pearson Education, Limited (November 2004)
- Forfattere: Herb Sutter, Andrei Alexandrescu og John John Fuller
- ISBN: 9780321113580
Every software development team should have and follow a coding standard.It's even better when what the coding standard requires is actually consistent,reasonable, and correct.Coding standards have many advantages:*They improve code quality. This happens automatically when following agood, simple set of guidelines.*They improve development speed, because the programmer doesn't need toalways make decisions starting from first principles.*They enhance teamwork by eliminating needless debates on inconsequentialissues and by making it easy for teammates to read and maintain each other'scode.The coding standards introduced by this book are a collection of guidelines forwriting high-quality C++ code.***They are the distilled conclusions of a rich collective experience of the C++community. Until now, this body of knowledge has been available only asfolklore or spread in bits and pieces throughout books.
1. Organizational and Policy Issues. Don''t sweat the small stuff. (Or: Know what not to standardize.). Compile cleanly at high warning levels. Use an automated build system. Use a version control system. Invest in code reviews.
2. Design Style. Give one entity one cohesive responsibility. Correctness, simplicity, and clarity come first. Know when and how to code for scalability. Don''t optimize prematurely. Don''t pessimize prematurely. Minimize global and shared data. Hide information. Know when and how to code for concurrency. Ensure resources are owned by objects. Use explicit RAII and smart pointers.
3. Coding Style. Prefer compile- and link-time errors to run-time errors. Use const proactively. Avoid macros. Avoid magic numbers. Declare variables as locally as possible. Always initialize variables. Avoid long functions. Avoid deep nesting. Avoid initialization dependencies across compilation units. Minimize definitional dependencies. Avoid cyclic dependencies. Make header files self-sufficient. Always write internal #include guards. Never write external #include guards.
4. Functions and Operators. Take parameters appropriately by value, (smart) pointer, or reference. Preserve natural semantics for overloaded operators. Prefer the canonical forms of arithmetic and assignment operators. Prefer the canonical form of ++ and --. Prefer calling the prefix forms. Consider overloading to avoid implicit type conversions. Avoid overloading &&, , or , (comma). Don''t write code that depends on the order of evaluation of functionarguments.
5. Class Design and Inheritance. Be clear what kind of class you''re writing. Prefer minimal classes to monolithic classes. Prefer composition to inheritance. Avoid inheriting from classes that were not designed to be base classes. Prefer providing abstract interfaces. Public inheritance is substitutability. Inherit, not to reuse, but to be reused. Practice safe overriding. Consider making virtual functions nonpublic, and public functions nonvirtual. Avoid providing implicit conversions. Make data members private, except in behaviorless aggregates (C-stylestructs). Don''t give away your internals. Pimpl judiciously. Prefer writing nonmember nonfriend functions. Always provide new and delete together. If you provide any class-specific new, provide all of the standard forms (plain, in-place, and nothrow).
6. Construction, Destruction, and Copying. Define and initialize member variables in the same order. Prefer initialization to assignment in constructors. Avoid calling virtual functions in constructors and destructors. Make base class destructors public and virtual, or protected and nonvirtual. Destructors, deallocation, and swap never fail. Copy and destroy consistently. Explicitly enable or disable copying. Avoid slicing. Consider Clone instead of copying in base classes. Prefer the canonical form of assignment. Whenever it makes sense, provide a no-fail swap (and provide it correctly).
7. Namespaces and Modules. Keep a type and its nonmember function interface in the same namespace. Keep types and functions in separate namespaces unless they''re specifically intended to work together. Don''t write namespace usings in a header file or before an #include. Avoid allocating and deallocating memory in different modules. Don''t define entities with linkage in a header file. Don''t allow exceptions to propagate across module boundaries. Use sufficiently portable types in a module''s interface.
8. Templates and Genericity. &n