X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2FCode_rules%2FRecommendations;h=4680beafa767fdc4c5f03ab620fcda55c3b7d5c9;hb=fbf4b51c7b2bb4bc355dcd0ae45cfdc277f8f1d8;hp=ae1ef292e99826a73371604ffb0dc2246fcc0823;hpb=08c2fba2a008dbf41d8ede999b3ece636407ba28;p=lyx.git diff --git a/development/Code_rules/Recommendations b/development/Code_rules/Recommendations index ae1ef292e9..4680beafa7 100644 --- a/development/Code_rules/Recommendations +++ b/development/Code_rules/Recommendations @@ -1,6 +1,6 @@ -These are some rules for effective C++ programming. These are taken from -Scott Meyers, and are presented in their short form. These are not all the -rules Meyers presents, only the most important of them. LyX does not yet +These are some rules for effective C++ programming. These are taken from +Scott Meyers, and are presented in their short form. These are not all the +rules Meyers presents, only the most important of them. LyX does not yet follow these rules, but they should be the goal. - Use const and inline instead of #define @@ -14,7 +14,7 @@ follow these rules, but they should be the goal. operator for all classes with dynamically allocated memory that do not inherit noncopyable -- make destructors virtual in base classes. +- make destructors virtual in base classes and only there. - assign to all data members in operator=. @@ -54,13 +54,18 @@ follow these rules, but they should be the goal. -------- -S. Meyers. Effective C++, 50 Specific Ways to Improve Your Programs and +S. Meyers. Effective C++, 50 Specific Ways to Improve Your Programs and Design. Addison-Wesley, 1992 ================================== -And one of mine: (Lgb) +And one of mine: (Lgb) - When swiching on enums, refrain from using "default:" if possible. +And one of mine: (Andre') + +- try to implement your class in a way that the automatically generated + copy constructor and copy assignment work out-of-the box. +