Review Checklist

Checklist version: 1.0.0, 2025-05-23.

General

  • Adhere to CCL Coding Conventions.

  • Use forward declarations where applicable.

  • Omit redundant namespace qualifiers, such as when using the using directive or already inside a namespace.

  • Avoid micro-optimizations or premature optimizations that increase code complexity.

  • Ensure state transitions are balanced. Examples: use setActive(true/false), pair initialize() with terminate(), match startup() with shutdown().

Types

Memory

  • Use NEW macro instead of new operator for memory leak detection.

  • Ensure memory allocations and deallocations are balanced. Use NEW and delete, retain() and release(). Consider smart pointers and encapsulated classes such as Buffer.

Scripting

  • When extending scriptable classes, maintain parity between native and script code.

  • Use DEFINE_METHOD_* macros for all methods in invokeMethod().

  • Think about object lifetime when combining native code (using reference counting) and script code (using garbage collection).

Application

  • Use human-readable title case for command categories and names, even for hidden commands. Command name and category should match the English display category and title. Example: File - Save As