snake programacion practicas para notacion lista hungara expresiones desarrollo comandos camelcase buenas c# coding-style naming-conventions

programacion - ¿Cuál es la notación de nombres correcta para clases, funciones, variables, etc. en c#?



pascal case (7)

Soy un desarrollador web que no tiene antecedentes informáticos formales. He estado escribiendo código hace algunos años, pero cada vez que necesito crear una nueva clase / función / variable, me tomo dos minutos decidir un nombre. y luego cómo escribirlo.

Por ejemplo, si escribo una función para resumir un montón de números. Debería llamarlo

Sum() GetSum() getSum() get_sum() AddNumbersReturnTotal()

Sé que hay una manera correcta de hacerlo, y un enlace a una buena fuente definitiva es todo lo que pido: D

Cerrado como un duplicado de c # Coding standard / Mejores prácticas


Afortunadamente, no creo que haya una forma estandarizada de hacerlo. Escojo el que me gusta, que por lo tanto también parece ser el estándar que usa el otro código fuente y lo uso.



Estoy de acuerdo con la distinción Calcular vs Obtener: get () se debe usar para valores que ya están calculados o triviales para recuperar.

Además, sugeriría en muchos casos agregar un sustantivo al nombre, de modo que sea obvio cuál es exactamente la suma que está calculando. A menos que, por supuesto, el nombre que agregaría es el nombre o tipo de clase en sí.


Las clases deben estar en notación de camello con la primera letra en mayúscula

public class MyClass

Las funciones y métodos en C # deberían actuar de manera similar, excepto para los métodos privados

public void MyMethod() private void myPrivateMethod()

Las variables tiendo a hacer un poco diferente:

Variables miembro

private int _count;

Variables locales

int count;


Los nombres de los métodos son verbos. Los nombres de clase, campo y propiedad son sustantivos. En este caso, Sum podría pasar como verbo o sustantivo ...

AddNumbersReturnTotal ajusta a la definición anterior, pero es un poco larga. Por gentileza con el tipo que mantiene mi código (¡generalmente yo!) Trato de evitar la inclusión de palabras redundantes en los identificadores, y trato de evitar las palabras que son fáciles de escribir.


Todas las anteriores.

Creo que las directrices oficiales de C # dirían que llamar a calculateSum () como getSum () se usaría si la suma fuera una variable de instancia. Pero depende del estilo de codificación utilizado y de cómo se escribe cualquier código existente en el proyecto.


Sum() si es público y hace el trabajo en sí mismo.

GetSum() si es público y recupera la información de otro lugar.

sum () / getSum () como arriba, pero para métodos internos / privados.

(Hmm ... Eso es un poco vago, ya que cambias ligeramente el significado de "Suma". Entonces, intenté esto de nuevo.

XXX si xxx es un proceso (sumando valores). GetXXX si xxx es una cosa. (la suma de los valores)