Vì lý do này, bạn nên nỗ lực để giữ cho các định nghĩa tư nhân và các tập tin tiêu đề (và bất cứ điều gì khác mà có thể được thay đổi) ra khỏi phạm vi công cộng. Một sự thay đổi cũng có thể chấp nhận được nếu nó có thể được xác minh là tương thích, theo các hướng dẫn tôi đã thảo luận ở đây. | Simpo PDF Merge and Split Unregistered Version - http Simpo PDF Merge and Split Unregistered Version - http Appendix Code Checklist The following list is based on the internal Symbian Peer Review Checklist. Declaration of Classes A class should have a clear purpose design and API. An exported API class should have some private reserved declarations for future backward compatibility purposes. The API should provide the appropriate level of encapsulation . member data hiding. Friendship of a class should be kept toaminimum in order to preserve encapsulation. Polymorphism should be used appropriately and correctly. A class should not have exported inline methods. A non-derivable class with two-phase construction should make its constructors and ConstructL private. const should be used where possible and appropriate. Overloaded methods should be used in preference to default parameters. Each C class should inherit from only one other C class and have CBase as the eventual base class. Each T class should have only stack-based member variables. Each M class should have no member data. Simpo PDF Merge and Split Unregistered Version - http Header Files Header files should contain in-source documentation of the purpose of each class. The inclusion of other header files should be minimized by using forward declaration if required. Header files should include the correct ifndef. define. endif directive to prevent multiple inclusion. The number of IMPORT_C tags should match the corresponding EXPORT_C tags in the .cpp file. Comments Comments should match the code. Comments should be accurate relevant concise and useful. Each class should have in-source documentation of its purpose in header file. Each method should have in-source documentation of its purpose parameters and return values in the .cpp file. Constructors A CBase-derived class does not need explicit initialization. Member data of T and R classes should be .