¿Qué estás buscando?
Hero background image

Prácticas recomendadas de formato para la programación en C# en Unity

Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

Si bien puede que no haya una forma correcta de formatear tu código C#, acordar un estilo consistente en tu equipo puede resultar en una base de código más limpia, legible y escalable. Esta página ofrece consejos y consideraciones clave a tener en cuenta para tus clases, métodos y comentarios al crear tu propia guía de estilo.

Nota: Las recomendaciones compartidas aquí se basan en las proporcionadas por Microsoft. Las mejores reglas de guía de estilo de código son las que funcionan para las necesidades de tu equipo.

Puedes encontrar un ejemplo de guía de estilo de código aquí o descargar el libro electrónico completo, Crea una guía de estilo de C#: Escribe código más limpio que escale.

Formateando tu código

Junto con la nomenclatura, el formato ayuda a reducir la conjetura y mejora la claridad del código. Al seguir una guía de estilo estandarizada, las revisiones de código se centran menos en cómo se ve el código y más en lo que hace.

Apunta a personalizar la forma en que tu equipo formateará el código. Considera cada una de las siguientes sugerencias de formateo de código al configurar tu guía de estilo de Unity. Puedes optar por omitir, expandir o modificar estas reglas de muestra para adaptarlas a las necesidades de tu equipo.

En todos los casos, reflexiona sobre cómo tu equipo implementará cada regla de formateo y luego haz que todos la apliquen de manera uniforme. Consulta nuevamente la guía de estilo de tu equipo para resolver cualquier discrepancia. Cuanto menos pienses en el formateo, más productivamente – y creativamente – podrás trabajar.

Echemos un vistazo a algunas pautas de formateo.

Propiedades

Una propiedad proporciona un mecanismo flexible para leer, escribir o calcular valores de clase. Las propiedades se comportan como si fueran variables miembro públicas, pero en realidad son métodos especiales llamados accesores.

Cada propiedad tiene un método get y set para acceder a un campo privado, llamado campo de respaldo. De esta manera, la propiedad encapsula los datos, ocultándolos de cambios no deseados por el usuario o objetos externos. El “getter” y el “setter” tienen su propio modificador de acceso, permitiendo que tu propiedad sea lectura-escritura, solo lectura o solo escritura.

También puedes usar los accesores para validar o convertir los datos (por ejemplo, para verificar que los datos se ajusten a tu formato preferido o cambien un valor a una unidad particular).

La sintaxis para propiedades puede variar, por lo que tu guía de estilo debería definir cómo formatearlas. Consulta los siguientes ejemplos para obtener consejos sobre cómo mantener las propiedades consistentes en tu código.

Propiedades con cuerpo de expresión

Usa propiedades con cuerpo de expresión para propiedades de una sola línea y solo lectura (=>): Esto devuelve el campo de respaldo privado.

Propiedad autoimplementada

Todo lo demás utiliza la sintaxis de cuerpo de expresión { get; set; }: Si solo deseas exponer una propiedad pública sin especificar un campo de respaldo, usa la propiedad auto-implementada.

Aplica la sintaxis de expresión para los accesores de conjunto y obtención. Recuerda hacer el "setter" privado si no deseas proporcionar acceso de escritura. Alinea el cierre con la llave de apertura para bloques de código multilínea.

Clase serializable
UNA CLASE O ESTRUCTURA SERIALIZABLE PUEDE AYUDAR A ORGANIZAR EL INSPECTOR.

Serialización

La serialización de scripts es el proceso automático de transformar estructuras de datos o estados de objetos en un formato que Unity puede almacenar y reconstruir más tarde. Por razones de rendimiento, Unity maneja la serialización de manera diferente que en otros entornos de programación.

Los campos serializados aparecen en el Inspector, pero no puedes serializar campos estáticos, constantes o de solo lectura. Deben ser públicos o estar etiquetados con el atributo [SerializeField]. Unity solo serializa ciertos tipos de campos, así que consulta la documentación para el conjunto completo de reglas de serialización.

Observa estas pautas básicas al trabajar con campos serializados:

Usa el atributo [SerializeField]: El SerializeField atributo puede trabajar con variables privadas o protegidas para hacerlas aparecer en el Inspector. Esto encapsula mejor los datos que marcar la variable como pública y evita que un objeto externo sobrescriba sus valores.

Usa el atributo Rango para establecer valores mínimos y máximos: El [Range(min, max)] atributo es útil si deseas limitar lo que el usuario puede asignar a un campo numérico. También representa convenientemente el campo como un control deslizante en el Inspector.

Agrupa datos en clases o estructuras serializables para limpiar el Inspector: Define una clase o estructura pública y márcala con el [Serializable] atributo. Define variables públicas para cada tipo que desees exponer en el Inspector.

Referencia esta clase serializable desde otra clase. Las variables resultantes aparecen dentro de unidades colapsables en el Inspector.

Estilo de llaves o de sangría

Hay dos estilos de sangrado comunes en C#:

El estilo Allman, también conocido como el estilo BSD (de BSD Unix), coloca las llaves de apertura en una nueva línea.

El estilo K&R, o "el verdadero estilo de llaves", mantiene la llave de apertura en la misma línea que el encabezado anterior.

También hay variaciones en estos estilos de sangrado. Los ejemplos en esta guía utilizan el estilo Allman de las directrices de diseño del marco de Microsoft. Independientemente de cuál elijas como equipo, asegúrate de que todos sigan el mismo estilo de sangrado y de llaves. También puedes probar los consejos en las siguientes secciones.

Pestañas de C Sharp
AJUSTES DE PESTAÑAS EN VISUAL STUDIO PARA WINDOWS

Decide una sangría uniforme

La sangría es típicamente de dos o cuatro espacios. Haz que todos en tu equipo estén de acuerdo en una configuración en tus preferencias de Editor sin iniciar una guerra de llamas sobre pestañas versus espacios.

En Visual Studio para Windows, navega a Herramientas > Opciones > Editor de texto > C# > Pestañas.

En Visual Studio para Mac, navega a Preferencias > Código fuente > Código fuente de C#. Selecciona el Estilo de texto para ajustar la configuración.

Nota: Visual Studio ofrece la opción de convertir pestañas en espacios.

No omitas llaves

No omitas las llaves, ni siquiera para declaraciones de una sola línea. Las llaves aumentan la consistencia, lo que hace que tu código sea más fácil de leer y mantener. En este ejemplo, las llaves separan claramente la acción, DoSomething, del bucle.

Si necesitas agregar una línea de depuración o ejecutar HacerAlgoMás más tarde, las llaves ya estarán en su lugar. Mantener la cláusula en una línea separada te permite simplemente agregar un punto de interrupción.

Mantén las llaves para mayor claridad en declaraciones multilínea

No quites las llaves de las declaraciones multilineales anidadas. Eliminar llaves en este caso no generará un error, pero probablemente causará confusión. Aplica llaves por claridad, incluso si son opcionales.

Estandariza las declaraciones switch

El formato puede variar, así que documenta las preferencias de tu equipo en tu guía de estilo y estandariza tus declaraciones de switch en consecuencia.

Aquí hay un ejemplo de cómo indentar las declaraciones de caso.

Espaciado horizontal

Algo tan simple como el espaciado puede mejorar la apariencia de tu código en pantalla. Si bien las preferencias de formato personal pueden variar, considere las sugerencias a continuación para mejorar la legibilidad.

Agregar espacios

Agregue espacios para disminuir la densidad del código. El espacio en blanco adicional da la sensación de separación visual entre partes de una línea.

Espaciado después de una coma

Use un solo espacio después de una coma entre los argumentos de la función.

Sin espaciado después de paréntesis

No agregue un espacio después del paréntesis y los argumentos de la función.

Sin espacio entre una función y paréntesis

No use espacios entre el nombre de la función y el paréntesis.

Evita espacios dentro de corchetes

En la medida de lo posible, evite espacios dentro de los corchetes.

Espaciado antes de las condiciones de control de flujo

Use un solo espacio antes de las condiciones de control de flujo y agregue un espacio entre el operador de comparación de flujo y los paréntesis.

Espaciado con operadores de comparación

Use un solo espacio antes y después de los operadores de comparación.

Consejos de legibilidad

Mantenga las líneas cortas y considere el espacio en blanco horizontal. Decida un ancho de línea estándar (80–120 caracteres) y divida una línea larga en declaraciones más pequeñas en lugar de dejar que se desborde.

Como se discutió anteriormente, intente mantener la indentación/hierarquía. Indentar su código puede aumentar la legibilidad.

No use alineación de columnas a menos que sea necesario para la legibilidad. Si bien este tipo de espaciado alinea las variables, puede complicar la asociación del tipo con el nombre.

La alineación de columnas, sin embargo, puede ser útil para expresiones a nivel de bits o estructuras con muchos datos. Solo tenga en cuenta que puede crear más trabajo para usted mantener la alineación de columnas a medida que agrega más elementos. Algunos autoformateadores también pueden cambiar qué parte de la columna se alinea.

Espaciado vertical y regiones

También puede usar el espaciado vertical a su favor. Mantén las partes relacionadas del script juntas y utiliza los espacios en blanco a tu favor. Prueba lo siguiente para organizar tu código de arriba hacia abajo:

  • Agrupa métodos dependientes o similares juntos: El código debe ser lógico y coherente. Mantén los métodos que hacen lo mismo uno al lado del otro, para que alguien que lea tu lógica no tenga que saltar por el archivo.
  • Utiliza el espacio en blanco vertical para separar partes distintas de tu clase: Por ejemplo, puedes agregar dos líneas en blanco entre:
  • Declaraciones de variables y métodos
  • Clases e interfaces
  • bloques if-then-else (si ayuda a la legibilidad)

Mantén esto al mínimo, y si es posible, rastrealo en tu guía de estilo.

Usando regiones en tu código

La directiva #region te permite colapsar y ocultar secciones de código en archivos C#, haciendo que archivos grandes sean más manejables y fáciles de leer.

Sin embargo, si sigues el consejo general para clases de esta guía, el tamaño de tu clase debería ser manejable y la directiva #region superflua. Divide tu código en clases más pequeñas en lugar de ocultar bloques de código detrás de regiones. Tendrás menos inclinación a agregar una región si el archivo fuente es corto.

Nota: Muchos desarrolladores consideran que las regiones son malos olores de código o anti-patrones. Decidan como equipo de qué lado del debate se encuentran.

Preferencias de C Sharp
LA VENTANA DE PREVISUALIZACIÓN MUESTRA SUS ELECCIONES DE GUÍA DE ESTILO.

Formato de código en Visual Studio

No se desespere si estas reglas de formato parecen abrumadoras. Los IDE modernos hacen que sea eficiente configurarlas y hacerlas cumplir. Puede crear una plantilla de reglas de formato y luego convertir sus archivos de proyecto a la vez.

Para configurar reglas de formato para el Editor de scripts:

  • En Visual Studio para Windows, navegue a Herramientas > Opciones, luego localice Editor de texto > C# > Formato de estilo de código.
  • Utilice la configuración para modificar las opciones de General, Sangría, Nuevas líneas, Espaciado y Ajuste.
  • En Visual Studio para Mac, seleccione Visual Studio > Preferencias, luego navegue a Código fuente > Formato de código > Código fuente de C#.
  • Seleccione la Política en la parte superior, luego vaya a la pestaña Estilo de texto. En la pestaña Formato de C#, ajuste la configuración de Sangría, Nuevas líneas, Espaciado y Ajuste.

Para forzar que su archivo de script se ajuste a la guía de estilo:

  • En Visual Studio para Windows, vaya a Edit > Avanzado > Formatear documento (Ctrl + K, Ctrl + D combinación de teclas). Si solo desea formatear espacios en blanco y alineación de tabulaciones, también puede usar Ejecutar limpieza de código (Ctrl + K, Ctrl + E) en la parte inferior del Editor.
  • En Visual Studio para Mac, vaya a Editar > Formatear documento (Ctrl + I combinación de teclas).

En Windows, también puede compartir la configuración de su Editor desde Herramientas > Importar y exportar configuraciones. Exporte un archivo con el formato de código C# de la guía de estilo y luego haga que cada miembro del equipo importe ese archivo.

Visual Studio le ayuda a adherirse a la guía de estilo. El formateo se vuelve tan simple como usar una combinación de teclas.

Nota: Puede configurar un EditorConfig archivo (ver arriba) en lugar de importar y exportar configuraciones de Visual Studio. Hacer esto facilita compartir el formato entre diferentes IDEs. También tiene el beneficio adicional de trabajar con control de versiones. Consulte las opciones de reglas de estilo de código .NET para más información.

Aunque esto no es específico del código limpio, asegúrese de consultar las 10 formas de acelerar su flujo de trabajo de programación en Unity con Visual Studio. Recuerde que es más conveniente formatear y refactorizar código limpio si aplica estos consejos de productividad.

Obtenga más consejos sobre estilo de código

Aprenda más sobre convenciones de nomenclatura aquí o consulte el libro electrónico completo. También puede explorar nuestro ejemplo de guía de estilo de código detallada.