2009-10-07 3 views
5

Come si chiamano le funzioni quando i nomi contengono un genitivo sassone come "Verifica priorità del task" e "Modifica priorità argomento" o "Incremento del ritardo azione"?Genitivo sassone nelle convenzioni sui nomi?

Abbandonate l'apostrofo? verifyTasksPriority(), changeArgumentsPriority(), increaseActionsDelay()

Si rilasciano entrambi l'apostrofo e la "s"? verifyTaskPriority(), changeArgumentPriority(), increaseActionDelay()

Sostituisci il genitivo del sassone con "of"? verifyPriorityOfTask(), changePriorityOfArgument(), increaseDelayOfAction()?

Non mi piace la prima opzione perché sembra che la funzione funzioni su più cose anziché su una cosa. Non mi piace la seconda opzione perché non sembra naturale. Non mi piace la terza opzione perché la parola di, in un nome di funzione, non sembra corretta.

Che opzione usi?

+0

Quindi è l'opzione 2 quindi. Grazie a tutti! –

risposta

9

Io uso il secondo. Mi suona bene. Pensa a "Task Priority" come parola composta come "aspirapolvere".

+2

Questa è esattamente la mia opinione. I nomi composti sono di solito il modo più succinto per nominare le funzioni. – Noldorin

2

Trovo che i numeri due e tre suonino bene per me e siano descrittivi. Io uso la seconda opzione. La prima opzione potrebbe essere fonte di confusione poiché sembra indicare che opera su una raccolta piuttosto che su un singolo oggetto (attività invece di attività, ad esempio).

Non ero, tuttavia, consapevole che stavo facendo programmazione genitale Saxon; Lo aggiungerò al mio curriculum immediatamente.

1

Non riesco a ricordare di aver mai sentito il bisogno di usare nessuno di loro a mano.

Scrivo codice OO, principalmente in lingue OO, in modo da verificare la priorità di un'attività che avresti task.verifyPriority(), anche se di solito hai solo task.verify() come metodo pubblico.

La verifica della priorità può implicare altra logica, ad esempio la priorità può essere solo 7 se il proprietario dell'attività è Bob. Impostare il proprietario di una delle attività con priorità 7 di Bob su Anna lo renderebbe incoerente, ma dovresti chiamare verifyOwner() quando cambi il proprietario e verifyPriority() per quando modifichi la priorità, anche se avevano la stessa logica?

Ho scoperto che rendere le API meno specifiche per i dettagli dell'implementazione porta a un codice più malleabile.

In lingue non OO di solito uso <library>_<Noun>_<Verb> quindi tman_task_verify (task_t* self) per verificare l'oggetto attività nella libreria del task manager per verificare se stesso.

+0

+1 per indicare object.method come modello OO comune. – codingoutloud