Questa domanda riguarda lo stile di denominazione delle variabili nell'obiettivo c e cacao. Voglio solo sottolineare che non sto cercando una risposta "giusta", solo buone idee.Convenzioni di denominazione delle variabili di istanza in Cocoa
Ho letto le guide di stile oggettive di Apple e di Google e non sono davvero contento di nessuno dei due. La guida di Apple non ha raccomandazioni di stile reali riguardanti le variabili di istanza rispetto alle variabili locali. In effetti, la stessa libreria Cocoa sembra perfettamente felice di avere parametri di funzione con lo stesso nome delle variabili di istanza. Questo mi fa rabbrividire personalmente.
Guida a Googles specifica che le variabili di istanza devono essere indicate con un carattere di sottolineatura finale. Va bene, tutto bene e bene, ma suggerisce di sintetizzare tutte le proprietà pubbliche con @synthesize property = property_. Non conosco nessun altro, ma sarò dannato se lo farò per ogni variabile di istanza nel mio progetto. Penso che sia una soluzione dispendiosa e confusa.
Sono tentato di utilizzare lo stile di denominazione myX (ad esempio "myInstanceVariable") per le proprietà dell'oggetto, ma raramente ho visto quello stile nell'obiettivo c.
Quindi sì, che cosa usi? Qualche convenzione di stile là fuori non so di ciò che hai trovato utile? Pensi che i parametri di funzione con lo stesso nome delle variabili di istanza siano pericolosi, specialmente in più ambienti di sviluppo? Grazie ragazzi e ragazze!
NOTA - Come molte persone hanno sottolineato, la mia terminologia era disattivata nell'OP. Mi scuso se la dicitura originale ha ferito la chiarezza, ma penso che il punto fosse ancora chiaro.
Buona risposta. Sono d'accordo sul fatto che il prefisso del parametro è più pulito rispetto al tentativo di calzare una convenzione in variabili di istanza c oggettive. I documenti Apple descrivono le convenzioni per questo nel caso di tipi comuni di NSObject, quindi estenderlo per i propri tipi ha perfettamente senso. Sto contrassegnando questo come la risposta perché ha risposto meglio al punto principale della mia domanda - evitando la spaziatura ambigua dei nomi nelle funzioni di classe - e non aggiunge strane convenzioni o aggettivi. – DougW