Quali sono le convenzioni di denominazione che usi durante la codifica?
-
02-07-2019 - |
Domanda
Quali sono le convenzioni di denominazione che usi durante la codifica?
Soluzione
Spero che non discuteremo i prefissi per i nomi dei campi e gli stili di parentesi qui :)
Ecco la mia bibbia per .NET:
Anche MSDN fornisce solide linee guida.
Un'altra fonte utile è Linee guida per la codifica interna di MS
Altri suggerimenti
Ecco un elenco di convenzioni di denominazione generali da MSDN.
Tendo a seguire semplicemente il flusso, comunque. Qualunque siano gli standard attualmente in vigore, di solito è più semplice seguirli e magari spostarli lentamente nel tempo. Non è davvero pratico entrare in un progetto con la tua idea di "standard". e prova a implementarli.
Non importa DAVVERO quali standard vengono utilizzati, solo che ci sono alcuni e le persone sanno cosa sono.
Uso una combinazione di ungherese , custodia per cammelli e altre regole che trovo all'inizio di un progetto. Come in questo momento:
- I metodi sono in maiuscolo (DoThis)
- le variabili sono case camel (thisThing)
- le variabili a livello di pagina sono precedute da _ (_thisWorksEverywhere)
- le regioni sono tutte minuscole (#region proprietà straniere)
- Proprietà e oggetti sono maiuscoli (Object.Property)
- Le proprietà esterne sono precedute da _ (Object._ForeignGroups)
- I controlli sono in parte ungheresi, come (txtTextBox) e (rptRepeater). Non sono troppo severo su ciò che è consueto perché " filigrana " può essere wm o wk o altro, purché corrispondano tutti l'un l'altro attraverso la mia domanda.
... ecc. Alcune cose sono standard, altre sono all'altezza dell'interpretazione, ma la cosa più importante è la coerenza tra le applicazioni.
Notazione ungherese può essere utilizzato. Non mi infastidisco, ma do a vari nomi sensibili (variabili, controlli, ecc.).
Ad esempio, uso un prefisso in stile ungherese per nomi di controllo come txt per TextBox, btn per pulsanti, foto per PictureBox, lbl per etichette, ecc. Ciò aiuta a identificare facilmente cos'è un controllo.
Per i nomi delle funzioni cerco di usare nomi esplicativi ragionevoli, ma nulla con regole particolari. Per i nomi delle variabili ancora uso solo nomi esplicativi ma niente di speciale.
Per aggiungere alla risposta di @Aku gli autori delle Linee guida per la progettazione del framework hanno pubblicato sulla versione digest online delle loro linee guida, con particolare attenzione alle convinzioni di denominazione.
Framework Design Guidelines Digest v2
La coerenza è la chiave. A seconda delle dimensioni del team di sviluppo, l'utilizzo di una convinzione coerente e documentata renderà più semplice la raccolta del codice di qualcun altro e per gli altri il proprio codice.
Gente, per favore non pubblicare risposte come " Mi piace __field " o " Mi piace m__field " ;. È una domanda molto personale e soggettiva senza una singola risposta.
Se hai delle linee guida è già una grande vittoria. La cosa peggiore nel team di sviluppo è la mancanza di convenzioni comuni.
Sarebbe bello se provasse a descrivere alcuni vantaggi di una determinata linea guida.
Ad esempio:
campi prefissi con carattere di sottolineatura possono migliorare il completamento automatico con intellisense
Scegline uno coerente. La modifica degli stili dei nomi genera confusione.