Diseñando Documentación Efectiva: Lecciones Aprendidas Construyendo los Docs de Redux

Rate this content
Bookmark

Acabas de terminar de construir una nueva y rápida biblioteca JS y no puedes esperar para publicarla en NPM. Pero espera un minuto, ¿qué pasa con los docs? Claro, cualquiera puede juntar un README con algunos fragmentos de código de ejemplo, pero ¿has pensado realmente en cómo diseñar los docs en sí mismos?

Únete al mantenedor de Redux, Mark Erikson, mientras observamos formas de estructurar y escribir documentación de manera efectiva para ayudar a tus usuarios a aprender y entender cómo usar tus herramientas, basándonos en años de experiencia construyendo los docs de Redux. Hablaremos sobre patrones para organizar categorías de documentación, consejos para hacer que los docs sean más fáciles de leer y entender, herramientas útiles para trabajar con el contenido de los docs, ¡y más!

This talk has been presented at React Advanced 2024, check out the latest edition of this React Conference.

Mark Erikson
Mark Erikson
22 min
28 Oct, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Hola, soy Mark Erickson, y hoy estoy muy feliz de hablar contigo sobre el diseño de documentación efectiva, lecciones que he aprendido escribiendo los docs de Redux. Discutiremos técnicas organizativas, consejos prácticos, escritura de tutoriales y herramientas útiles de documentación. Redux ofrece tutoriales orientados al aprendizaje y guías prácticas orientadas a objetivos. Otras categorías de documentación incluyen guías de referencia, explicaciones, archivos readme, páginas de FAQ y notas de lanzamiento. Consejos para organizar y escribir documentación: considerar al lector objetivo, asumir conocimientos previos, repetir información, cubrir temas en múltiples áreas. Escribir tutoriales para bibliotecas en TypeScript presenta desafíos, pero se pueden abordar con un enfoque TypeScript-first y manteniendo los ejemplos actualizados. Los tutoriales atractivos involucran ejercicios interactivos, diagramas y formato, y deben ser revisados y mejorados en base a comentarios. En general, la documentación es valiosa y vale la pena el esfuerzo.

1. Introduction

Short description:

Hola, soy Mark Erickson, y hoy estoy muy feliz de hablarles sobre el diseño de documentación efectiva, lecciones que he aprendido escribiendo la documentación de Redux. Algunas cosas sobre la charla de hoy. Vamos a hablar sobre las técnicas organizativas para escribir documentación, consejos prácticos, pensamientos sobre la escritura de tutoriales específicamente, y herramientas útiles de documentación. La necesidad de documentación surge de la necesidad de entender qué hace una herramienta, cómo usarla y proporcionar detalles sobre el contenido de la API. Organizar la información en taxonomías es un desafío, pero el modelo de cuatro categorías de Divio o Diataxis es un buen punto de partida. La primera categoría son los tutoriales.

Hola, soy Mark Erickson, y hoy estoy muy feliz de hablarles sobre el diseño de documentación efectiva, lecciones que he aprendido escribiendo la documentación de Redux. Algunas cosas rápidas sobre mí. Soy un ingeniero senior de front-end en Replay. Soy un respondedor de preguntas. Responderé preguntas prácticamente en cualquier lugar donde haya un cuadro de texto en Internet. Recolecto todo tipo de enlaces útiles e interesantes. Soy un escritor de publicaciones de blog extremadamente largas y soy un mantenedor de Redux, pero la mayoría de la gente me conoce como ese tipo con el avatar de los Simpsons.

Algunas cosas sobre la charla de hoy. Esto se va a centrar principalmente en escribir documentación para bibliotecas de software. Muchos de los consejos probablemente sean útiles para escribir documentación para otras cosas también, pero la suposición principal aquí es que estamos escribiendo documentación para el ecosistema de JavaScript. Vamos a hablar sobre algunas técnicas organizativas para escribir documentación, consejos prácticos, pensamientos sobre la escritura de tutoriales específicamente, y finalmente veremos un par de herramientas útiles de documentación.

Entonces, ¿por qué necesitamos documentación de todos modos? Un número de razones diferentes. Necesitamos poder entender qué hace una herramienta y cuándo usarla realmente. La gente necesita poder saber cómo usar una herramienta cuando no tiene ningún conocimiento previo sobre cómo funciona realmente. Puede que necesites entender preguntas específicas sobre cómo usar una herramienta y queremos poder proporcionar detalles sobre lo que contiene una API. Desafortunadamente, la realidad es que los usuarios no saben automáticamente cómo usar nuestra biblioteca y por eso necesitamos poder proporcionar esa información para ellos.

Hay una gran palabra que describe la organización de la información y esa es taxonomía. Es la ciencia de clasificar y categorizar cosas. Ahora, esto se usa principalmente en cosas como especies y anatomía física pero también se aplica a la documentación e información. Y organizar la información en taxonomías es difícil. Si alguna vez has tenido un montón de archivos en tu computadora y estás confundido sobre en qué carpeta ponerlos, has entendido el problema de intentar organizar la información.

Hay muchas maneras diferentes en las que puedes intentar organizar la documentación. Muchas categorías diferentes muchos patrones diferentes. No hay un único mejor patrón y diferentes proyectos van a tener diferentes necesidades. Habiendo dicho eso, soy un gran fan del modelo de cuatro categorías de Divio o Diataxis que divide la documentación en cuatro categorías principales. Tutoriales guías prácticas, explicaciones y referencias. Esto fue originalmente creado por alguien llamado Danielle Procida originalmente publicado bajo una empresa llamada Divio y luego fue reestructurado y se le dio el nombre de Diataxis y publicado en su propio sitio. Y hay algunas diferencias entre los dos sitios diferentes. Y no es perfecto, pero este es un muy buen punto de partida para pensar en cómo organizar realmente tu documentación.

Así que la primera categoría son los tutoriales.

2. Tutorials and How-to Guides

Short description:

Y estos tutoriales están orientados al aprendizaje, con el objetivo de enseñar a los usuarios cómo entender y usar la biblioteca paso a paso. Redux tiene dos tutoriales principales: Redux Essentials, que se centra en el uso práctico y la construcción de características, y Redux Fundamentals, que explica conceptos desde cero. Además, hay guías prácticas que están orientadas a objetivos y se centran en resolver problemas específicos. Estas guías asumen que los lectores tienen un conocimiento y comprensión decentes, lo que permite explicaciones enfocadas en resolver problemas específicos, como configurar Redux con Next.js.

Y estos están orientados al aprendizaje. El objetivo es enseñar al usuario cómo entender y usar la biblioteca paso a paso. A menudo pasando por el proceso de construir algún tipo de aplicación o proyecto real de principio a fin. Y el objetivo es enseñarles cómo usar la herramienta. Así que para cuando terminen, deberían poder comenzar a usar tu biblioteca con éxito y deberían poder pasar por las otras secciones en la documentación y realmente entender de qué están hablando las cosas.

En el caso de Redux, tenemos dos tutoriales principales. El primero es el tutorial de Redux Essentials. Y el objetivo de este es enseñar a las personas cómo usar Redux Toolkit y React Redux para construir una aplicación realista. El enfoque aquí está en el cómo. Y hablamos sobre los patrones y pasamos por muchos de los conceptos centrales, pero no siempre hablamos sobre el por qué o cómo estas abstracciones realmente funcionan internamente. Y por eso este es un tutorial muy enfocado en la práctica. Pasamos mucho tiempo construyendo características y mostrando cómo usar métodos específicos de Redux Toolkit.

Pero diferentes personas aprenden de diferentes maneras. Algunas personas quieren sumergirse y simplemente mostrarme cómo hacer esta cosa. Otras personas se sienten un poco atascadas hasta que entienden el por qué y cómo funciona esto realmente desde abajo hacia arriba. Así que también tenemos un tutorial de Redux Fundamentals. Y el objetivo de este es enseñar cada uno de los conceptos desde cero. Sin abstracciones, sin capas, sin bibliotecas. Y trabajamos desde abajo y mostramos cómo funciona realmente cada una de estas piezas. Así que es práctico en el sentido de que mostramos código real funcionando pero es un poco más teórico en el sentido de que intentamos explicar el pensamiento detrás de cada uno de estos conceptos. De hecho, muchos de los patrones comunes de Redux ni siquiera se introducen hasta tarde en este tutorial después de que ya hemos explicado lo básico. Y luego finalmente muestra cómo Redux Toolkit simplifica muchos de los patrones.

Otra categoría son las guías prácticas. Y estas están muy orientadas a objetivos. Son recetas o se centran en resolver problemas específicos. Y realmente estas van a ser cosas que solo los usuarios reales de una aplicación o una biblioteca, con algo de experiencia real, van a estar preguntando. La buena noticia sobre estas es que puedes asumir que el lector ya tiene un conocimiento y comprensión decentes y que ya conocen lo básico. Y así puedes enfocar las explicaciones en resolver este problema específico. Así que con Redux tenemos muchas guías prácticas. Tenemos cosas como cómo configurar Redux con Next.js, que tiene muchas sutilezas muy complicadas.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Documentación Full Stack
JSNation 2022JSNation 2022
28 min
Documentación Full Stack
Top Content
The Talk discusses the shift to full-stack frameworks and the challenges of full-stack documentation. It highlights the power of interactive tutorials and the importance of user testing in software development. The Talk also introduces learn.svelte.dev, a platform for learning full-stack tools, and discusses the roadmap for SvelteKit and its documentation.
Puerta de entrada a React: La historia de React.dev
React Summit US 2023React Summit US 2023
32 min
Puerta de entrada a React: La historia de React.dev
The Talk discusses the journey of improving React and React Native documentation, including the addition of interactive code sandboxes and visual content. The focus was on creating a more accessible and engaging learning experience for developers. The Talk also emphasizes the importance of building a human API through well-designed documentation. It provides tips for building effective documentation sites and highlights the benefits of contributing to open source projects. The potential impact of AI on React development is mentioned, with the recognition that human engineers are still essential.
Por qué deberías usar Redux en 2024
React Summit 2024React Summit 2024
33 min
Por qué deberías usar Redux en 2024
Top Content
Mark Erickson explains the history, creation, evolution, and benefits of Redux. Redux was designed to make state updates and action history maintenance easy, incorporating functional programming principles. Redux Toolkit was created to simplify Redux usage. Redux is still a valid choice for its consistent pattern and separation of state from UI. The decision to use Redux depends on the specific use case and the need for centralized state management.
TypeScript para Autores de Bibliotecas: Aprovechando el Poder de TypeScript para DX
TypeScript Congress 2022TypeScript Congress 2022
25 min
TypeScript para Autores de Bibliotecas: Aprovechando el Poder de TypeScript para DX
TypeScript for library authors offers benefits for both internal and external use, improving code quality and providing accurate understanding of libraries. Documentation and examples should be in code to provide up-to-date information. Testing types alongside unit tests ensures accurate typing. Managing changes and exposing types requires careful versioning. Deep integration of types improves usability. Using a map in TypeScript allows for simpler implementation and customization. Leveraging types in libraries can generate code based on user access. TypeScript integration with Nuxt provides support and type declarations.