Saltar al contenido principal

Filosofía de opciones

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

información

Prettier tiene algunas opciones por razones históricas. Pero no añadiremos más.

Sigue leyendo para saber más.

Prettier no es un formateador de código que intente imprimir tu código de cualquier manera posible. Es opinionado. Citando la página ¿Por qué Prettier?:

La razón principal para adoptar Prettier es detener los debates sobre estilos.

Sin embargo, cuantas más opciones tiene Prettier, más se aleja de ese objetivo. Los debates sobre estilos se convierten en debates sobre qué opciones de Prettier usar. Las guerras de formato resurgen con vigor: "¿Qué valores de opciones son mejores? ¿Por qué? ¿Tomamos las decisiones correctas?"

Y no es el único costo de las opciones. Para conocer sus desventajas, consulta el incidente sobre resistir añadir configuración, que tiene más 👍 que cualquier solicitud de opción.

Entonces, ¿por qué hay opciones?

  • Algunas se añadieron durante la infancia de Prettier para impulsarlo. 🚀

  • Un par se añadieron por "gran demanda". 🤔

  • Otras por razones de compatibilidad. 👍

Las opciones más fáciles de justificar incluyen:

  • --trailing-comma=es5 te permite usar comas finales en la mayoría de entornos sin necesidad de transpilar (las comas finales en funciones se añadieron en ES2017).

  • --prose-wrap es importante para soportar renderizadores Markdown peculiares.

  • --html-whitespace-sensitivity es necesaria por las reglas de espacios en HTML.

  • --end-of-line facilita evitar CRLF en repositorios git.

  • --quote-props es crucial para usos avanzados de Google Closure Compiler.

Pero otras opciones son difíciles de justificar en retrospectiva: --arrow-parens, --jsx-single-quote, --bracket-same-line y --no-bracket-spacing no son opciones que nos satisfagan. Generan mucho bike-shedding en equipos, y lo lamentamos. Difíciles de eliminar ahora, existen como artefactos históricos y no deberían motivar nuevas opciones ("Si esas opciones existen, ¿por qué no esta?").

Durante mucho tiempo, mantuvimos abiertas solicitudes de opciones para analizar discusiones y recopilar feedback. Aprendimos que es difícil medir la demanda real. El uso de Prettier creció enormemente. Lo que antes era "gran demanda" hoy no lo es tanto. Reacciones en GitHub y encuestas en Twitter dejaron de ser representativas. ¿Qué pasa con los usuarios silenciosos? Parecía fácil añadir "solo una opción más". ¿Dónde detenerse? ¿Cuándo es demasiado? Tras añadir "esa opción final", siempre habría un "incidente principal" pendiente.

Pero llegó el momento de detenerse. Prettier es lo suficientemente maduro y adoptado por muchas organizaciones. La fase de investigación terminó. Concluimos con confianza que el conjunto de opciones debe "congelarse". Ya no se aceptan solicitudes de opciones. Agradecemos a todos quienes participaron en este difícil camino.

Nota: Las solicitudes de opciones están fuera del alcance de Prettier y se cerrarán sin discusión. Lo mismo aplica a preservar elementos de formato (ej. saltos de línea), pues son opciones encubiertas con las mismas desventajas. Solo se considerarán opciones por necesidad técnica (ej. compatibilidad), pero para opciones de formato, esto es definitivo.