> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/es/2022/w08-how-to-write-good-code.md).

# W08-Cómo escribir buen código

La semana pasada discutimos en el equipo cómo escribir buen código. Quiero ampliar algunas ideas. **Hay una regla general que me interesa destacar: mejorar continuamente la calidad de las fuentes de información. Escribir buen código también es un proceso de aprendizaje y práctica. Buscar fuentes de calidad es un buen motor de crecimiento.**

Cuando empecé a trabajar, leía sobre todo cuentas públicas de WeChat. Abría un artículo y a menudo pensaba: «Qué bien explicado, cuánta razón, tengo que guardarlo». Con el tiempo descubrí que el contenido de algunas comunidades de desarrolladores era más sistemático y que una gran parte procedía del extranjero, por ejemplo de media o Google Developer. Por eso, durante una época también me interesó traducir. Más adelante empecé a seguir listas de lecturas y escuché a profesionales veteranos recomendar con insistencia algunos clásicos. Tras leer varios, comprendí que buena parte de lo que había leído antes eran fragmentos: extractos, ampliaciones o aplicaciones de ciertos capítulos de esos libros. Suelen ser obras que ya tienen años, a menudo reeditadas muchas veces, pero que ofrecen algo nuevo en cada lectura. Por ejemplo, *El programador pragmático*, *Refactorización*, *El diseño del diseño* o la serie de Yukihiro Matsumoto.

En mi experiencia, la primera etapa se parecía a armar un rompecabezas. Recogía fragmentos, exploraba por mi cuenta y construía una teoría, para descubrir al final que estaba reinventando la rueda. La etapa posterior se parece más a plantar un árbol. Primero construyo mi estructura de conocimiento y, cuando el tronco está formado, voy colgando de él los fragmentos de información. La ventaja es que, una vez desarrolladas la capacidad de discernir información y la de convertirla en práctica, todo lo que recibimos a diario puede desplegar su mayor potencial. Sabemos qué es una pequeña floritura o un truco rebuscado que basta con mirar y dejar pasar, y qué es una solución cuya sencillez encierra una gran habilidad y merece aprenderse en silencio.

Hasta aquí, por qué mejorar la calidad de las fuentes. Ahora, qué es una fuente de calidad. ¿Los nuevos medios, como las cuentas públicas, tienen necesariamente peor contenido que los libros? Desde luego que no. Creo que cada canal de información tiene sus especialidades y la calidad es solo una dimensión. Ordenar los canales de mayor a menor calidad resulta injusto. Es más adecuado evaluar las fuentes por su marca. Ya sea personal o empresarial, una buena marca difícilmente publicará contenido muy malo. Su valor guarda relación con el esfuerzo invertido en seleccionar, revisar, editar y corregir los textos. Hay buenos ejemplos en comunidades como Aotu y Qiwu Tuan y en editoriales como Turing, O’Reilly, Huazhang y Cheers Publishing.

No hay canales nobles o inferiores, ni uno solo con poderes universales. Si atribuimos a un canal un significado que excede sus propiedades, terminaremos desviándonos, porque ningún canal sirve para todo. En la época de predominio de la televisión que critica *Divertirse hasta morir*, el entusiasmo llegó al punto de querer reconstruir la educación a través de ella. Sin embargo, la mayoría de los intentos de educar entreteniendo mediante la televisión fracasaron. La televisión puede ofrecer diversión y relajación. No conviene esperar que asuma muchas más responsabilidades sociales. Después de la era de la televisión hemos vivido de principio a fin la de los portales de internet y la de los nuevos medios móviles. Cada época añade una opción para informarnos. La lógica no es que un canal deba reemplazar a otro, sino decidir para qué es más adecuado cada uno.

También leí una opinión de Wan Weigang: hay que prestar más atención a las principales conferencias y a los artículos académicos, porque son las fuentes de mayor calidad. Estoy de acuerdo, aunque me parece una postura demasiado purista. Sus opiniones suelen partir de la perspectiva de la élite científica. Hace poco leí su introducción a la mecánica cuántica y me llamó la atención un pasaje inicial. Afirma que las disciplinas que incluyen «ciencia» en su nombre no son ciencias y que ese nombre revela su inseguridad, como en el caso de la ciencia de la computación.
