Il mio dipartimento sta per fare nuove assunzioni. Probabilmente saranno a) junior o b) più esperti di me stesso.
Quest'anno ho aiutato alcuni ingegneri C a passare a C # e osservato alcune interessanti strutture di codice scritte. Vorrei sapere di più sul perché lo stanno facendo, se dovessi incoraggiare "la mia strada" e quali sono i pro e i contro di ciascuno di essi.
Il problema
Assumiamo Alcuni processi con 4 passaggi, A > B > C > D.
Gli ingegneri C lo hanno scritto in questo modo;
SomeProcess()
{
A();
}
A()
{
// do A
B(parameters);
}
B()
{
// do B
C(parameters);
}
C()
{
// do C
D(parameters);
}
Lo scrivo così
SomeProcess()
{
A();
B();
C();
D();
}
Il rinforzo che ho per "la mia strada" è questo:
- È più chiaro ciò che sta accadendo in quanto il codice riflette la documentazione
- Lo stack è più piccolo
- La composizione di livello superiore consente alle funzioni di essere utilizzate in altri processi, ad esempio A > C > B
- Se il processo ha un valore di ritorno, posso cambiare il tipo di ritorno in solo poche righe (questo è piuttosto secondario)
Domanda
Desidero presentare alcuni obiettivi di apprendimento in quest'area.
Perché gli altri ingegneri dovrebbero scrivere questa struttura? Ci sono degli svantaggi per "la mia strada"?