Così, sto scrivendo un po 'di codice per un incarico nella mia classe di strutture di dati, e mi chiedevo se si utilizza un metodo restituisce un valore in un altro metodo è generalmente cattiva praticaÈ una cattiva pratica che un metodo restituisca una stringa all'interno di un altro metodo?
public void PrintLocation(MarsLander ml)
{
for (int i = 10; i >= 0 ; i--)
{
Console.Write("{0} m: {1}", i * 100, WheresTheSpaceship(ml, i));
}
Console.WriteLine();
}
public string WheresTheSpaceship(MarsLander ml, int i)
{
if (i == ((ml.GetHeight() % 100) + 9))
{
return " * \n";
}
else
{
return "\n";
}
}
Il metodo WheresTheSpaceship
deve restituire se per stampare la posizione della navicella spaziale (il *) basta indentare fino alla riga successiva e tornare al metodo PrintLocation
per reiterare il ciclo. (Questa è la mia prima domanda per favore andate piano con me :))
questo è fatto tutto il tempo, ma non è un buon nome di metodo. –
Va bene perché mettere tutto in un unico metodo è la cattiva pratica. Questo rende il tuo codice più liberamente accoppiato. –
Sarebbe più pulito avere una chiamata 'GetRoundedLocation' che viene chiamata una sola volta per il lander e tenere separato tutto il codice di stampa dal codice di calcolo. Come scritto, se la posizione del lander fosse aggiornata su un thread separato non funzionerebbe. –