Awesome Reviewers

Organize code to minimize header dependencies and improve compilation times. Use forward declarations instead of includes when possible, avoid unnecessary dependencies, and follow proper header organization patterns.

Key practices:

Example:

// Good: Use forward declaration in header
// MyClass.h
class WarnUnusedResultAttr; // Forward declaration
class MyClass {
  WarnUnusedResultAttr* attr;
};

// MyClass.cpp - actual include in implementation
#include "clang/AST/Attr.h"

// Bad: Heavy include in header
// MyClass.h  
#include "clang/AST/Attr.h" // Unnecessary dependency

This approach reduces compilation times, minimizes rebuild cascades when headers change, and creates cleaner module boundaries.