Qualcuno può spiegarmi la convenzione di codifica di C #?

14

Recentemente ho iniziato a lavorare con Unity3D e principalmente lo scripting con C #. Poiché normalmente programma in Java, le differenze non sono eccessive, ma ho comunque riferito a un corso accelerato solo per assicurati di essere sulla strada giusta.

Tuttavia, la mia più grande curiosità con C # è che capitalizza la prima lettera dei suoi nomi di metodo (ad esempio Java: getPrime() C #: GetPrime() aka: Pascal Case?). C'è una buona ragione per questo? Capisco dalla pagina del corso accelerato che ho letto che apparentemente è convenzione per .Net e non ho modo di cambiarlo, ma sono curioso di sapere perché è stato fatto in questo modo rispetto al caso del cammello normale (relativo?) che, per esempio, usa Java.

Nota: Capisco che le lingue abbiano le proprie convenzioni di codifica (i metodi Python sono tutti in minuscolo e si applica anche a questa domanda) ma non ho mai veramente capito perché non è formalizzato in uno standard.

    
posta ahodder 02.08.2012 - 00:58
fonte

3 risposte

27

Le convenzioni di denominazione rappresentano scelte arbitrarie del loro editore. Non c'è nulla nel linguaggio stesso che ti impedisca di nominare i tuoi metodi come fai in Java: finché il primo carattere è una lettera / trattino basso e tutti gli altri caratteri sono lettere, cifre o caratteri di sottolineatura, C # non ha intenzione di lamentarsi. Tuttavia, le librerie di classi fornite con .NET seguono una convenzione che Microsoft ha adottato internamente. Anche Microsoft ha pubblicato queste linee guida , in modo che altri possano scegliere di adottali anche per le proprie librerie di classe. Anche se è una tua scelta seguire o ignorare le linee guida di Microsoft, la familiarizzazione con il tuo codice da parte di altri potrebbe andare più veloce se segui le stesse linee guida per la denominazione.

    
risposta data 02.08.2012 - 01:13
fonte
23

Forse a causa dell'influenza Pascal / Delphi. Il creatore di C # e Delphi era la stessa persona dopo tutto (Anders Hejlsberg).

Le convenzioni di codifica in Delphi sembrano essere le stesse di C # in questo aspetto; vedi link o link - coincidenza?

    
risposta data 02.08.2012 - 01:13
fonte
4

Oltre alle altre risposte fatte, avere un caso di cammello per i metodi significa che possono entrare in conflitto con i nomi di membri privati, parametri e variabili di metodo che usano il caso cammello per la loro denominazione. In Java (e C # 1.0) questo non è molto comune dato che l'uso dei delegati è scomodo e raro. Nel moderno C # non è esattamente comune , ma è anche non inaudito.

    
risposta data 02.08.2012 - 01:31
fonte

Leggi altre domande sui tag