El formato del código fuente utiliza un espaciado de tabulación de 4 columnas, conservando las tabulaciones (es decir, las tabulaciones no se expanden a espacios). Cada nivel de sangría lógica es un tope de tabulación adicional.
Las reglas de diseño (posición de las llaves, etc.) siguen las convenciones de BSD. En
particular, las llaves para los bloques controlados de if,
while, switch, etc. van en sus propias líneas.
Limita la longitud de las líneas para que el código sea legible en una ventana de 80 columnas. (Esto no significa que nunca debas pasar de las 80 columnas. Por ejemplo, dividir una cadena de mensaje de error larga en lugares arbitrarios solo para mantener el código dentro de las 80 columnas probablemente no sea una mejora en la legibilidad).
Para mantener un estilo de codificación coherente, no utilices comentarios de estilo C++
(comentarios de tipo //). pgindent
los reemplazará con /* ... */.
El estilo preferido para los bloques de comentarios de varias líneas es:
/* * el texto del comentario comienza aquí * y continúa aquí */
Ten en cuenta que los bloques de comentarios que comienzan en la columna 1 serán conservados tal cual por pgindent, pero reformulará los bloques de comentarios con sangría como si fueran texto plano. Si deseas conservar los saltos de línea en un bloque con sangría, añade guiones como este:
/*----------
* el texto del comentario comienza aquí
* y continúa aquí
*----------
*/
Aunque los parches enviados no tienen que seguir estrictamente estas reglas de formato, es una buena idea hacerlo. Tu código se pasará por pgindent antes del próximo lanzamiento, por lo que no tiene sentido hacer que se vea bien bajo otro conjunto de convenciones de formato. Una buena regla general para los parches es “hacer que el código nuevo se parezca al código existente a su alrededor”.
El directorio src/tools/editors contiene archivos de configuración de ejemplo
que se pueden utilizar con los editores Emacs,
xemacs o vim para ayudar a asegurar
que formateen el código de acuerdo con estas convenciones.
Si deseas ejecutar pgindent localmente para ayudar a que tu
código coincida con el estilo del proyecto, consulta el directorio
src/tools/pgindent.
Las herramientas de navegación de texto more y less se pueden invocar como:
more -x4 less -x4
para que muestren las tabulaciones de forma adecuada.