2010-08-13 16 views
6

Acabo de empezar a buscar en la fuente de phobos, y está llena de varios estilos diferentes y código comentado.D/Phobos Guía de estilo

La guía de estilo en el lado web es muy pequeña, y sólo he encontrado enlaces rotos a partir de 2006 y otra de 2004 ...

¿Existe un guía más completa más reciente disponible?

PS: publicada originalmente en el grupo de noticias D.learn, pero como no he tenido ninguna respuesta, pensé que probaría aquí, aunque podría ser un tiro en la oscuridad

Respuesta

5

lo que existe guía está fuera de fecha y no debería existir más. No creo que haya ningún tipo de guía de estilo D que se considere válida, y no creo que Walter Bright, Andrei Alexandrescu, etc. quieran que exista una. Además, según recuerdo, en C++ Coding Standards: 101 Rules, Guidelines, and Best Practices, Herb Sutter y Andrei dijeron que las guías de estilo eran una mala idea (o al menos las realmente específicas), pero tendrían que sacar el libro para estar seguro de lo que dijeron exactamente. . Así que más bien dudo que Phobos (del cual Andrei está a cargo) tenga algún tipo de guía de estilo; Ciertamente no estoy al tanto de ninguno. Puede haber algún tipo de pautas para el código de formato que va a Phobos (como hacer que su código se vea similar al resto del módulo o algo así), pero alguien como Andrei o uno de los otros desarrolladores de Phobos tendría que responder eso. Ciertamente, con alrededor de 15 desarrolladores diferentes trabajando en Phobos, es probable que obtenga varios estilos diferentes en el código si no hay una guía de estilo aplicada.

Por lo tanto, no creo que realmente haya ningún tipo de estilo de codificación recomendado para D o Phobos. Según entiendo, los principales detrás de D no son particularmente partidarios de las guías de estilo, y ciertamente no han presionado. Entonces, no hay uno en este momento, y no espero que haya uno en el futuro.

EDIT: Bien, fui y busqué exactamente lo que dijeron Herb Sutter y Anderi Alexandrescu en C++ Coding Standards: 101 Rules, Guidelines, and Best Practices. No es exactamente que estén en contra de los estándares de codificación tanto como están en contra de los particularmente restrictivos que imponen los gustos personales o las prácticas obsoletas. No voy a citar todo aquí (es un buen libro, y probablemente deberías retomarlo), pero aquí hay algunos puntos clave.

  • No especifique la cantidad de sangría, pero haga sangría para mostrar la estructura.
  • No aplique una longitud de línea específica, pero mantenga las longitudes de línea legibles.
  • No overlegislate la denominación, pero haznos una convención de nomenclatura coherente.
  • No excluya los estilos de comentarios (excepto cuando las herramientas extraen ciertos estilos en la documentación), pero sí escriba comentarios útiles.

Algunos ejemplos que dieron fueron que

  • colocación Brace no debería importar, pero debe ser consistente y legible.
  • En los espacios frente a las pestañas, no parece importarles si el estándar de codificación dice algo al respecto.
  • Están en contra de la notación húngara en C++, pero piensan que podría ser valioso en lenguajes menos seguros.
  • Están completamente en contra de hacer cumplir que haya una única declaración de devolución en una función.

Independientemente, creen que el formato debe ser coherente dentro de un archivo de origen. Obviamente, Phobos no necesariamente se apega a eso en este punto, pero Andrei simplemente mencionó algunas de las convenciones que normalmente se han mantenido y estaba estudiando la posible aplicación de algunas de ellas (la publicación actual está archivada here).

Sin embargo, mientras Phobos es de código abierto y cualquiera puede enviar revisiones, recuerde que es la API destinada al consumo público. Solo los desarrolladores de Phobos necesitan para ver el código (al menos si los documentos están debidamente completados); sin duda, son los únicos que van a trabajar directamente en él, por lo que no es necesario un estándar de codificación listado públicamente. , incluso si usan uno. Parece que podrían usar más consistencia y que pueden estar trabajando en eso, pero todo lo que va a hacer para terceros es hacerlo más legible. Nadie más necesita saber realmente cuál es el estándar (aunque si observabas suficiente código siguiendo un estándar, podrías averiguar al menos más o menos lo que decía el estándar).

En cuanto a D en general, hay son ciertas convenciones que se consideran buenas prácticas (como generalmente usando auto en lugar de especificar un tipo, a menos que realmente tiene que especificar el tipo), pero al igual que con C++, puede codificar con el estilo de codificación que desee, y los desarrolladores D no son lo suficientemente dictatoriales para intentar imponer un estilo en toda la comunidad D.

+1

Muy mal. Me resulta más fácil leer el código cuando es consistente. D hace exactamente lo contrario de Ir aquí: | – simendsjo

+1

Estoy de acuerdo. Phobos está * desesperado * necesita una guía de estilo. Cada vez que mira una parte diferente de la biblioteca, el estilo cambia, incluso las convenciones de nomenclatura. Hace que Fobos sea muy difícil de usar. –

+0

@ Peter: supongo que eventualmente pasará por una necesidad desesperada. Es aún peor en los módulos escritos por varias personas, ni siquiera intentan seguir el estilo utilizado anteriormente. – simendsjo

3

Las cosas han cambiado lo suficiente como para pensar que debería volver a responder esta pregunta. Puede ver la guía de estilo D actual here, y ahora está actualizada. Tiene algunas reglas sobre el formateo (por ejemplo, sin pestañas y cada nivel de sangría es de 4 espacios), pero casi todas las reglas son sobre convenciones de nombres (por ejemplo, se supone que los nombres de tipo usan PascalCase, mientras que las variables y funciones deben usar camelCase) Entonces, el foco está en cómo debería ser la API y no cómo debe formatearse el código. Y como detallé en mi respuesta anterior, nunca será el caso que los desarrolladores de Phobos intenten y exijan un estilo de formato oficial para D en su conjunto. Tal como están las cosas, hay muchos programadores D que ni siquiera siguen las convenciones de nomenclatura en la guía de estilo oficial.

Es posible que en el futuro se implementen directrices de formato más restrictivas en Phobos (se ha discutido pero nunca se ha hecho) para aclarar a los remitentes el estilo que deben seguir y evitar discusiones sobre el formato del código (eso se ha convertido en un problema mayor desde que nos mudamos a github y el número de usuarios ha aumentado considerablemente), pero en este momento, principalmente se trata de asegurarse de que el código dentro de un módulo tenga el formato adecuado. Pero, de nuevo, incluso si las reglas de formato más restrictivas fueran obligatorias para Phobos, eso sería específico para Phobos y no para la comunidad D en su conjunto. Y hay demasiadas opiniones diferentes sobre cómo se debe formatear el código para que un estándar de formato de toda la comunidad funcione alguna vez.