Vedo domande simili a questo riguardo ai nomi dei parametri che corrispondono alle proprietà sulla classe, ma non riesco a trovare nulla riguardo l'utilizzo di un nome parametro che è uguale al nome del tipo di parametro ad eccezione dell'involucro in C #. Non sembra essere una violazione che riesco a trovare, ma è considerata una cattiva pratica? Ad esempio, ho il seguente metodo
public Range PadRange(Range range) {}
Questo metodo prende un intervallo e restituisce un nuovo intervallo a cui è stato applicato un riempimento. Quindi, dato il contesto generico, non riesco a pensare ad un nome più descrittivo per il parametro. Tuttavia, mi viene in mente un consiglio che ho ricevuto leggendo il Code Complete su "distanza psicologica". Dice
Psychological distance can be defined as the ease in which two items can be differentiated...As you debug, be ready for the problems caused by insufficient psychological distance between similar variable names and between similar routine names. As you construct code, choose names with large differences so that you can avoid the problem.
La mia firma del metodo ha un sacco di "Range" in corso, quindi sembra che potrebbe essere un problema per quanto riguarda questa distanza psicologica. Ora, vedo molti sviluppatori fare il seguente
public Range PadRange(Range myRange) {}
Personalmente ho un strong disgusto per questa convention. L'aggiunta di un prefisso "mio" ai nomi delle variabili non fornisce alcun contesto aggiuntivo.
Vedo anche il seguente
public Range PadRange(Range rangeToPad) {}
Mi piace meglio del prefisso "mio", ma non mi interessa per niente in generale. Mi sembra eccessivamente verboso e si legge goffamente come un nome variabile. Per me, è inteso che l'intervallo sarà riempito a causa del nome del metodo.
Quindi, con tutto questo, il mio istinto è di andare con la prima firma. Per me, è pulito. Non è necessario forzare il contesto quando non è necessario. Ma sto facendo a me stesso o ai futuri sviluppatori un disservizio con questa convenzione? Sto violando una buona pratica?