Organice la documentación de acuerdo con las necesidades del público objetivo.
En su caso, la audiencia principal son aparentemente desarrolladores de software. Las partes a considerar aquí son abordar diferentes "sub-audiencias" de este:
- Hola Mundo.
Aquellos que estén dispuestos a probarlo rápidamente, simplemente compilen y ejecuten una aplicación de muestra para ver cómo se ve.
Piense en la audiencia como una dirigida por MySQL "regla de 15 minutos" :
... un usuario para poder tener MySQL en funcionamiento 15 minutos después de que haya terminado de descargarlo.
- Fundamentos
Para los chicos dispuestos a aprender rápidamente las cosas necesarias para comenzar a producir software de trabajo.
- Temas avanzados.
Para desarrolladores que ya conocen y practican los fundamentos, interesados en saber qué hay más allá. Temas principales que no se han cubierto en Fundamentos .
- Guía de estilo / prácticas recomendadas.
Asesoramiento subjetivo y orientación para aquellos interesados en la forma en que recomienda hacer las cosas.
La pregunta no indica si esto podría tener una audiencia sustancial en su caso, por lo que las opciones a considerar son incluirlo como parte / apéndice de temas avanzados o incluso descartarlo por completo.
- Quirks
Temas oscuros, fuera de la corriente principal, que podrían ser de interés para una fracción bastante limitada de su audiencia. Por ejemplo, si tiene una línea heredada, o cosas como actualización / migración / interoperabilidad con legado, póngala aquí. Si hay algunos efectos secundarios para alguna función en un entorno "exótico" particular, se incluye en esta parte.
Su audiencia secundaria es la encargada de mantener el manual. Estos chicos pueden hacer o deshacer cómo funcionan las cosas para su audiencia principal, por lo que es mejor que se ocupe de sus necesidades y problemas.
¿Qué pasa si algo en el manual es cuestionable / ambiguo? ¿Qué pasa si resulta que una explicación exhaustiva de conceptos particulares haría que ese manual fuera demasiado difícil de leer? ¿Qué pasa si resulta que esa versión particular del manual tiene errores?
Dos cosas a considerar para los mantenedores son:
- Especificación técnica / formal.
Siempre que haya un tema cuestionable / ambiguo / difícil de explicar en el manual, se puede referir al lector a un párrafo particular en la especificación para una declaración estricta y clara, "oficial" sobre eso. La descripción estricta y completa (y probablemente aburrida) de la sintaxis del lenguaje iría mejor allí.
Las consideraciones más importantes para la especificación son la precisión técnica y la integridad, incluso si esto se produce a expensas de la legibilidad.
- Suplemento en línea.
Simplemente reserve una URL y colóquela al comienzo de cada documento que publique, para que los chicos que se pregunten qué demonios acaban de leer puedan ir allí (en lugar de molestar a los mantenedores manuales) y encuentren el error explicado.
Errata> Fundamentos> Versión 2.2> Error tipográfico en la página 28, la segunda oración comienza con suerte , lee bloqueo en su lugar.
Conceptos como estrategias de bloqueo, detalles relacionados con el rendimiento deben incluirse (posible parcialmente) en el lugar donde espera que el público objetivo lo necesite.
Por ejemplo, los mantenedores manuales aparentemente estarían interesados en una descripción completa y precisa de la concurrencia y el bloqueo en la especificación formal: póngala allí. Los lectores de temas básicos o avanzados pueden estar interesados en una descripción general / introducción / guía extraída de la especificación y adaptada a sus necesidades, etc.
Podría ser útil organizar un estudio comparativo de la documentación de referencia proporcionada para otros idiomas como el suyo. Apunte este estudio a aprovechar la experiencia adquirida por aquellos que lo hicieron antes y aprender a evitar los errores que cometieron.
Lo último, pero no menos importante, considere configurar el desarrollo de documentación de una manera similar al desarrollo de software. Me refiero a cosas como el control de versiones, lanzamientos regulares, seguimiento de problemas, control de calidad, etc. Sin embargo, es posible que desee hacer algunos compromisos si resulta que su (s) escritor (es) técnico (s) no se sienten realmente cómodos con cosas como esa. No queremos obtener contenido malo "a cambio" para un proceso de desarrollo perfecto, ¿verdad?