Pregunta

Comencé a trabajar con C # recientemente y noté que la convención parece ser que las variables comienzan con una letra mayúscula junto con los métodos.

¿Es este el único idioma que hace esto y por qué? Por ejemplo:

Page Page = new Page();
Page.Action(); 

En otros idiomas, verías en su lugar:

Page page = new Page();
page.action();

Hay otros ejemplos de esto que son confusos ya que he trabajado mucho con UML, Ruby, C ++ y Java.

Mi pregunta es, ¿por qué C # lo hace de esta manera cuando otros idiomas no lo hacen?

Editar

  

Otros usuarios de Overflow de pila están notando que C # no sigue esta convención, esto fue solo un error de mi parte.

¿Fue útil?

Solución

Bueno, en realidad, no: la convención en C # es para los nombres de variables (y campos) de camelCase, y los métodos de PascalCase:

Page page = new Page();
page.Action();

Otros consejos

No, este es un código C # bastante no estándar. Las pautas de diseño de .Net Framework en la sección 2.6 recomiendan el uso de la carcasa de camello para los nombres de variables locales.

Los miembros públicos usan PascalCase , los miembros privados usan camelCase .

Creo que esto aclara qué métodos son compatibles con una clase y qué métodos definen una clase.

public class Foo
{
    private Bar bar;
    public Bar Bar { get; set; }

    public void DoFoo()
    {
        makeFoo();
    }

    private void makeFoo()
    {
    }
}

Cada conjunto de convenciones de C # que he escrito o utilizado especificaría el caso de camello para las variables, por lo que:

Page page = new Page();
MyClass myClass = new MyClass();

No estoy seguro de dónde ha visto el caso de Pascal, pero ciertamente no es algo inherente o estándar para C #.

Las variables en C # generalmente no comienzan con una letra mayúscula (aunque eso obviamente depende de la implementación del desarrollador). Lo que probablemente te confunda es el concepto de a Propiedad . Las propiedades en C # se usan sintácticamente como variables (en el sentido de que pueden recuperarse o asignarse, en lugar de solo ejecutarse como una función), pero pueden encapsular la lógica empresarial en ambas operaciones.

Sin embargo, para responder a una parte más amplia de su pregunta, tanto las propiedades como los métodos / funciones comienzan con una letra mayúscula de acuerdo con la Directrices de Microsoft .

PascalCase fue una convención en Microsoft mucho antes de .NET. (En la API de Win32, etc.)

Una convención también tiene sentido usarla en un solo entorno. .NET es un entorno integral por sí solo y Microsoft-the-company otro, realmente no tiene sentido adoptar el de otra persona.

Además, dudo mucho que UML tenga una convención de nombres o que incluso la idea de que UML tenga una convención de nombres tenga sentido. UML modela su software y debe seguir la convención de ese software.

Puede averiguar mucho sobre qué convenciones deben adoptarse utilizando las dos herramientas siguientes.

FxCop: http://msdn.microsoft. com / en-us / library / bb429476 (VS.80) .aspx

StyleCop: http://code.msdn.microsoft.com/sourceanalysis

Público = PascalCase, solo tiendo a usar camelCase para campos privados y argumentos de parámetros.

Lea este estándar de codificación, aunque se puede buscar fácilmente en Google, no está mal lugar para comenzar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top