Supponiamo che tu abbia una firma come questa:
public void MyFooBar(IExtraSuperLongTypeName param1, TypeA param2 ISomeotherReallyLongTypeName param3, TypeB param4, TypeC param5)
La formattazione su una riga è brutta e difficile da leggere. Uno stile utilizzato da resharper per formattare questo è per spingere i parametri in basso così
public void MyFooBar(IExtraSuperLongTypeName param1, TypeA param2,
ISomeotherReallyLongTypeName param3, TypeB param4, TypeC param5)
Ma trovo ancora difficile interpretare immediatamente i parametri.
Ho anche visto questo approccio usato:
public void MyFooBar(IExtraSuperLongTypeName param1,
TypeA param2,
ISomeotherReallyLongTypeName param3,
TypeB param4,
TypeC param5)
Trovo che questo sia molto più facile da leggere, ma non sono un fan di avere tutto quello spazio bianco sulla strada, e non mi piace come la spaziatura degli spazi bianchi potrebbe non corrispondere esattamente alle dimensioni della scheda. Inoltre, se il nome del metodo è troppo lungo, può comunque spingere i parametri troppo a destra.
Ho pensato ad un altro modo per formattare il codice in questo modo:
public void MyFooBar
(
IExtraSuperLongTypeName param1,
TypeA param2,
ISomeotherReallyLongTypeName param3,
TypeB param4,
TypeC param5
)
Per me, questo è facile da leggere e non soffre degli svantaggi dell'approccio di cui sopra. Qualcuno può vedere eventuali problemi con il metodo di formattazione di cui sopra? Se non riesco a trovare alcun motivo per non scrivere le funzioni in questo modo, inizierò a utilizzarlo nei miei progetti per le firme di metodo lunghe. Lo stesso approccio può essere fatto per funzionare chiamate, ad esempio:
MyFooBar myFooBar = MyFooBar
(
arg1,
arg2,
arg3,
arg4,
arg5
);