2012-06-05 23 views
7

Como dijimos en el Código Limpio de Uncle Bob, no deberíamos prefijar a los miembros de la clase. Aunque estoy totalmente de acuerdo con los argumentos, hablando específicamente sobre Delphi, ¿cómo diferenciaríamos los campos privados de los públicos?¿Los campos de instancia/clase deben estar prefijados en Delphi?

En Java eso no es un problema, ya que no hay propiedades.

Microsoft también recomienda esta práctica en negrita grande en su Coding Guidelines. Hacen la distinción usando minúsculas para el campo privado y mayúsculas para la propiedad pública.

Además de eso, no tienen resaltado de sintaxis para los miembros de campo como otros IDE (Free y Open Source IDE incluidos ...)

Por lo tanto, debemos prefijar todos nuestros campos? ¿O solo los que colisionan con propiedades públicas?

Editar:

Sé que el estándar de codificación para Delphi es como prefijo para los campos con F, pero eso es lo que se dijo preciselly como una mala práctica en el código limpio. ¿Significa que el código Delphi no puede ser "tan limpio" como el código escrito en otros idiomas?

+0

mirada a las declaraciones de clase en cualquier unidad que viene con Delphi, por ejemplo 'Classes.pas' . Estoy buscando, y donde sea que vaya, Delphi está construido con el principio de usar 'F' como prefijo para campos privados. –

+1

Como ya han escrito otros (ver esta revisión: http://www.adampetersen.se/reviews/cleancode.htm) El código limpio de Uncle Bob está muy orientado a Java y no es tan bueno universalmente como a algunos les gustaría que creamos. No lo elegiría como una biblia de codificación Delphi. –

+3

Hay dos respuestas posibles (* yes * y * no *), y son igualmente válidas. Las guías de estilo no están de acuerdo. Esta no es una pregunta que pueda ser definitivamente respondida. Votar para cerrar como ** no constructivo **. –

Respuesta

10

La forma Delphi es usar el prefijo con F:

strict private 
    FField: Integer; 
public 
    property Field: Integer read FField; 

(. Ver la Object Pascal Style Guide)

+0

Yeap, esa es la manera Delphi. En realidad esa es la recomendación en su pauta de codificación. Hago eso, ya que parece ser la única forma. Pero va en contra de los principios del código limpio. –

+8

@RafaelPiccolo: no, no, solo contra cierto sabor de los mismos. Las pautas de codificación tienen un sabor y las reglas exactas de cada una no importan, siempre y cuando usted acepte y se adhiera a una. Cuando trabaje con Delphi, es mucho mejor que se quede con la Guía de Borland Pascal, cuyas pautas son ampliamente conocidas y respetadas. Cumplir con esas pautas significa reconocimiento inmediato para otros desarrolladores de Delphi. Y eso es exactamente para lo que es un estándar de codificación. –

+0

@MarjanVenema estuvo de acuerdo. Sin embargo, esta regla (como muchas otras) data de hace décadas. No digo que deberíamos cambiar todo solo porque Bob Martin dijo eso. Pero el desarrollo de software realmente cambió mucho a lo largo de los años y surgieron muchas prácticas nuevas para mejorar la expresión del código.Quizás ya no deberíamos escribir software usando estándares tan viejos. –

Cuestiones relacionadas