title: Prepare public header for release
body: <p>I'm interested in hearing what routines you have for cleaning up public header files you
  distribute to customers.</p>
  
  <p>Some things I'd like to hear your opinions on are:</p>
  
  <p>Comments not meant for external consumption. Generally I like keeping documentation close
  to the code and comments like this might not be a good idea to share:</p>
  
  <pre><code>/**
   * @todo Should we change the signature of this function to
   * make it obvious that xxx is really yyy?
   */
  </code></pre>
  
  <p>or perhaps:</p>
  
  <pre><code>/**
   * @todo Add support for feature X
   */
  </code></pre>
  
  <p>Inconsistent tab styles:</p>
  
  <pre><code>void functionA(int a, 
       int b,
       int c,
       int d);
  
  void functionB(int a,
                 int b,
                 int c);
  </code></pre>
  
  <p>Are there any tools for preparing headers or code in general for release?</p>