2012-06-05 15 views
7

Come detto nel Codice pulito di Uncle Bob, non dovremmo prefisso i membri della classe. Sebbene io sia completamente d'accordo con gli argomenti, parlando specificatamente di Delphi, come dovremmo differenziare i campi privati ​​dalle proprietà pubbliche?I campi istanza/classe devono essere prefissati in Delphi?

In Java non è un problema, poiché non ci sono proprietà.

Microsoft consiglia inoltre questa pratica in caratteri grandi in grassetto nel loro Coding Guidelines. Fanno la differenza usando il minuscolo per il campo privato e il maiuscolo per la proprietà pubblica.

In aggiunta a ciò, noi non abbiamo evidenziazione della sintassi per i membri di campo come altri IDE (IDE libero e open source inclusi ...)

Quindi, dovremmo prefisso tutti i nostri campi? O solo quelli che entrano in collisione con le proprietà pubbliche?

Edit:

So che lo standard di codifica per Delphi è quello di anteporre i campi con F, ma questo è preciselly quanto affermato da una cattiva pratica nel codice pulito. Significa che il codice Delphi non può essere "pulito" come il codice scritto in altre lingue?

+0

Guarda le dichiarazioni di classe a qualsiasi unità che è venuto con Delphi, per esempio 'Classes.pas' . Sto guardando, e ovunque vada Delphi è costruito con il principio di usare 'F' come prefisso per i campi privati. –

+1

Come altri hanno già scritto (vedi questa recensione: http://www.adampetersen.se/reviews/cleancode.htm) Uncle Bob's Clean Code è molto orientato a Java e non è universalmente valido come alcuni vorrebbero farci credere. Non lo sceglierei come una bibbia di codifica Delphi. –

+3

Ci sono due possibili risposte (* sì * e * no *), e sono ugualmente valide. Le guide di stile non sono d'accordo. Questa non è una domanda a cui può essere data una risposta definitiva. Votare per chiudere come ** non costruttivo **. –

risposta

10

Il modo Delphi è prefisso loro con F:

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

(. Vedere la Object Pascal Style Guide)

+0

Yeap, questo è il modo Delphi. In realtà questa è la raccomandazione nella loro linea guida di programmazione. Lo faccio, perché sembra essere l'unico modo. Ma va contro i principi del codice pulito. –

+8

@ RafaelPiccolo: no non lo fa, solo contro un certo sapore della stessa. Le linee guida per la codifica sono disponibili nei gusti e le regole esatte di ciascuna non contano finché si è d'accordo e si attengono a una. Quando lavori con Delphi, è molto meglio attenersi alla Guida Pascal di Borland, le cui linee guida sono ben conosciute e ampiamente rispettate. Attenersi a queste linee guida significa riconoscere immediatamente gli altri sviluppatori Delphi. E questo è esattamente ciò che uno standard di codifica è per. –

+0

@ MarjanVenema è d'accordo. Tuttavia, questa regola (come molti altri) risale a decenni fa. Non sto dicendo che dovremmo cambiare tutto solo perché Bob Martin ha detto così. Ma lo sviluppo del software è cambiato molto dopo anni e sono emerse molte nuove pratiche per migliorare l'espressione del codice.Forse non dovremmo scrivere software usando standard così vecchi. –

Problemi correlati