Sou um desses desenvolvedores que tem a mentalidade de que o código escrito deve ser auto-explicativo e lido como um livro.
NO ENTANTO, ao desenvolver o código da biblioteca para outras pessoas, tento colocar o máximo de documentação possível nos arquivos de cabeçalho; o que levanta a questão: Os métodos de documentação que não são públicos valem o tempo? Eles não os usarão diretamente, de fato, não podem. Ao mesmo tempo, se eu distribuir o código bruto (embora com relutância), esses métodos não públicos estarão visíveis e talvez precisem ser explicados.
Basta procurar alguns padrões e práticas que todos vocês veem ou usam em suas viagens.