2010-06-25 12 views
20

Si bien no existe un único y verdadero estilo correcto, existen algunos puntos de acuerdo general en la comunidad de C# con respecto al estándar/estilo de codificación; generalmente, son variaciones de las Pautas de diseño de .NET Framework.F # estilo de codificación y estándar

Cuando mira en F #, sin embargo, el estándar es visiblemente diferente de lo que se considera normal en C#. Como ejemplo, las funciones accesibles en List o Seq (casi) comienzan todas en minúsculas: List.fold, List.map (pero List.Cons y List.Empty no ...), mientras que generalmente se acepta que un método o propiedad en C# debe estar en mayúscula.

Así que mi pregunta es, ¿hay convenciones de codificación ampliamente aceptadas para F #? ¿Hay un equivalente a las Pautas de diseño del marco, o un buen estándar de codificación por ahí? Y, como beneficio adicional, en el mundo de F # basado en el espacio en blanco, ¿las personas tienen temas sobre los que discutir interminablemente, de forma similar a la posición interminable con corsé de C#?

+2

List.Cons y List.Empty son constructores, no funciones. Es por eso que comienzan con letras mayúsculas. – sepp2k

+0

Entiendo la distinción; Sin embargo, me gustaría saber si este tipo de convención aceptada está escrita en alguna parte. En C#, ambos métodos y constructores comienzan con un capital. – Mathias

Respuesta

23

El equipo de F # ha redactado un documento que suena exactamente como lo que está pidiendo. (Actualmente estamos en el proceso de incorporar los comentarios de la comunidad/personas a quienes enviamos el borrador). Es probable que se publique en el futuro cercano. Me aseguraré de vincularlo aquí cuando se publique.

EDITAR

The document is archived now y que debiera consult the updated version lugar.

+0

Muy bueno. La falta de un estándar no es mi mayor problema por mucho tiempo, pero realmente me gusta la consistencia, y esto ayudaría. ¿Alguna idea de tener algo como StyleCop para F #? – Mathias

+0

Personalmente no tengo ningún pensamiento, y no conozco a nadie que planee crear tal herramienta. (¡Podrías crearlo y volverse importante para la comunidad F #! :)) – Brian

+1

Creo que la mayoría de las convenciones de codificación provienen del fondo OCaml. –

7

Actualización: El documento de Don (vinculado a continuación) se ha eliminado del sitio de Microsoft. Sin embargo, A comprehensive guide to F# Formatting Conventions parece estar basado en el mismo documento.

F# Coding Guidelines paper de Don Syme se ocupa de los problemas de estilo de formato de "llaves" para F #.

+2

Este documento parece estar fuera de línea ahora, pero hay https://github.com/dungpa/fantomas/blob/master/ docs/FormattingConventions.md que aparentemente está basado en él. – Dave

+0

Gracias por comentar @Dave. He actualizado la respuesta con tu sugerencia. – bentayloruk

Cuestiones relacionadas