2011-12-30 13 views
13

Se ho classi parziali in C#, quali dovrebbero essere i nomi dei file?Convenzione di denominazione per i nomi di file delle classi parziali?

La classe è denominata partial class Logic e esisterebbe da due o forse tre file separati.

+6

http://stackoverflow.com/questions/1478610/naming-conventions-for-partial-class-files –

+0

sembra che è stato tutto per niente:/Unity3D non può gestire classi parziali. pensa che siano due classi separate. –

+0

Si noti che a partire dalla versione 4.1.5 di Unity le classi sembrano funzionare correttamente. – yoyo

risposta

22

Per una classe chiamata Logic, probabilmente andrei per Logic.something.cs (dove "qualcosa" è diverso per ogni file). Questo sarebbe nello stesso stile delle classi parziali generate da Visual Studio (ad esempio i file per i moduli)

+2

In effetti, ciò differenzierebbe _perché_ è una classe parziale, e il "perché" è la parte importante delle convenzioni di denominazione. L'esempio classico con classi parziali è che una parte viene generata e l'altra è manuale. Quindi 'Logic.generated.cs' e' Logic.cs' sarebbero abbastanza intuitivi. – David

+0

Mi piace questa idea, la rende facilmente identificabile dal Designer! – Jonathan

0

Credo che si possa scegliere il nome dei file come si desidera, a patto che le classi parziali siano posto nello stesso spazio dei nomi!

0

Tutto quello che vuoi, ma:

  • Non utilizzare classi parziali. Se la tua classe è così grande, meglio dividerla in classi separate in qualche modo.
  • Se ti ostini a classi parziali, dividerle logicamente, così si potrebbe avere Logic_Boolean.cs, ecc
+0

Come commento sul tuo primo argomento: non sono ancora così bravo con le classi, quindi per organizzarlo mi piacerebbe dividerlo in più file :) –

+0

@SimonVerbeke abbastanza giusto. Ma qualcosa da tenere a mente. – Ray

+0

un altro motivo è che sto lavorando con Unity3D, e i suoi script richiedono che qualsiasi logica che si desidera eseguire venga inserita in alcuni metodi predeterminati. Volevo separarli: 'Update()' in un file, 'OnGUI()' in un altro, ... È anche un progetto piuttosto piccolo con un sacco di codice che non torna da nessun'altra parte. –

2

userei solo classi parziali se sto generazione di codice (CodeSmith, MyGeneration, File modello (TT)). Microsoft ha fatto un buon lavoro nel fare ciò con proxy e set di dati generati, ecc. Poiché il codice verrà generato di nuovo in futuro, consente di separare la logica che si desidera includere ma non si desidera sovrascriverla.

standard basa su Microsoft NET Standards http://10rem.net/articles/net-naming-conventions-and-programming-standards---best-practices

Pascal caso, nessuna sottolineatura o leader "C" o "cls".

Le classi possono iniziare con un "I" solo se la lettera che segue l'I non è maiuscola, altrimenti sembra un'interfaccia.

Le classi non devono avere lo stesso nome dello spazio dei nomi in cui risiedono. Qualsiasi acronimo di tre o più lettere dovrebbe essere un caso pasquale, non tutti i maiuscoletti. Cerca di evitare le abbreviazioni e cerca di usare sempre i nomi. Perché: questa convenzione è coerente con .NET Framework ed è di facile lettura.

Gli esempi includono

  • Widget
  • InstanceManager
  • XmlDocument
  • MainForm
  • DocumentForm
  • HeaderControl
  • CustomerListDataSet

Ecco un link di MS su convenzioni di denominazione http://msdn.microsoft.com/en-us/library/xzf533w0(v=vs.71).aspx

Problemi correlati