2011-07-14 19 views
5

Sé que suena tonto, pero con respecto a CA1709, ¿deberíamos ignorar este error y simplemente hacer lo que hizo Microsoft (que es usar Db como el acrónimo de Database)?CA1709 - ¿Deberíamos ignorar esto y usar Db o DB?

Solo me preguntaba qué hacían las personas por ahí. Para mí, parece una tontería usar DB cuando Microsoft usa Db en todas partes.

+2

Personalmente, creo que la regla de "Acrónimos de dos letras mayúsculas" es estúpida, ya que pierde información sobre dónde comienzan las diferentes partes de un identificador. – CodesInChaos

+1

@CodeInChaos - como señala @ChrisWue, se trata de consistencia. Casi todos los estándares es estúpido, arbitrario, o ambos en algún caso. Microsoft invirtió mucho tiempo e investigó el suyo, y mantenerse razonablemente cerca de él resulta en una base de código familiar para un gran número de desarrolladores. (Mis dos centavos.) – TrueWill

+1

Luego pierde la capacidad de transformar automáticamente a una convención diferente. Una aplicación de esto es json serialización donde la convención es generalmente para separar palabras diferentes con un '_ '. – CodesInChaos

Respuesta

5

Realmente no importa, ¿verdad? Elige lo que más te guste, pero asegúrate de usarlo de manera consistente. Con las convenciones de nomenclatura de codificación y es principalmente acerca de la elección que más le guste y sea consistente

8

Citando Brad Abrams en el excelente Framework Design Guidelines:

... Yo he oído todas las excusas posibles para violar estas directrices nombrar . [...] En general, nuestros clientes han visto los lugares en los cuales hemos divergido de estas pautas (incluso para la mejor excusa ) como verrugas en el Marco.

En otras palabras, haz lo que dicen, no como lo hacen. :)

Además, 'Db' es una abreviación, no un acrónimo. La base de datos es una palabra. Las abreviaturas nunca deben usarse en identificadores según las Pautas. ('Id' es un caso especial.)

Tristemente, el CA1709 link lista 'DB' como ejemplo. :(

+0

Entonces, ¿tu respuesta es que debe ser' DB 'o' Db '? ? –

+0

@my En realidad debería ser "Base de datos" según las directrices de Microsoft (que M icrosoft no siempre sigue). Probablemente vaya con "Db" como en System.Data.Entity.DbContext, pero como dice ChrisWue, elija un estándar para su equipo y sea consecuente. – TrueWill

+0

¿Puede vincularse a estas directrices, no pude encontrar el enlace real que indica el uso del nombre completo 'Base de datos' en cualquier lugar. –