underscore style snake programming practices pascalcase hungarian coding camel best and coding-style naming-conventions

coding-style - programming - python snake case naming style



Convenciones de nombres: ¿Qué nombre un método que devuelve un booleano? (11)

Tengo una interfaz en c # que ayuda a recuperar datos de un archivo personalizado en el servidor. La interfaz se ve así:

public interface IRetrieveData { bool OkToRetrieve(SomeData data); // Method in question... bool RetrieveToLocal(SomeData data); }

Esta interfaz es implementada por los clientes que recuperan los datos a la base de datos local. Hay diferentes sabores de clientes que tienen acceso a los datos de los demás. Entonces, cuando el componente de procesamiento llama a IRetrieveData.OkToRetrieve justo antes de la recuperación real, la llamada va al código del cliente donde se toma la decisión de si los datos se deben recuperar o no. En este punto, el cliente puede devolver el mensaje falso y ese dato se omite o se devuelve verdadero y el componente de procesamiento llama a RetrieveToLocal y envía los datos al cliente que luego los procesa.

Lo que me confunde es cambiar el nombre del método "OkToRetrieve" por "Recuperar" o "CanRetrieve" o dejarlo como OkToRetrieve.

¿Alguien tiene una sugerencia?


¿Qué hay de usar el prefijo ''debería''?

ShouldRetrieve(SomeData data);


CanRetrieve me suena bien. He visto la raíz Can utilizada en las API de Microsoft. La única otra opción real IMO es IsRetrievable (de Aziz) que de alguna manera parece demasiado lingüísticamente retorcida.


Depende de tu caso de uso. Me gusta prefijarlos con palabras como ''es'', ''hace'' o ''puede'': IsSomePropertySoAndSo , DoesNounSupportFeature y como su ejemplo CanVerb


En este caso específico, probablemente lo nombre:

public bool IsReady (SomeData)

Porque demuestra más claramente lo que sucederá una vez que esto vuelva true .


En las convenciones de Nomenclatura, está escrito que el nombre del método debe ser el verbo


Los métodos significan acción. Por lo tanto, prefiero que los nombres de los métodos comiencen con un verbo. ¿Qué tal si?

CheckIsRetrievable(SomeData data)


Preferiría isOKToRetrieve o isRetrieveOK sobre las variantes sin "es" según la convención de que las funciones y los métodos deberían ser verbos.


Siempre nombra métodos booleanos con nombres similares a las preguntas que se pueden responder sí o no.

En su caso, CanRetrieve sería un buen nombre (solo para usar su propia sugerencia).


si está haciendo más comprobaciones y es irrecuperable () no es apropiado, podría usar:

IsValid()


MayRetrieve() podría ser un nombre mejor si el resultado está determinado por el permiso / acceso del usuario.

IsRetrievable() es más ambiguo, lo que puede ser más apropiado si hay otras consideraciones además de, o distintas de, el permiso.


IsRetrievable()

Creo que un método que devuelve un valor booleano debe nombrarse como una pregunta sí-no.