@KronanW: Du kan till och med gå så långt som att infoga din beskrivande text som kommentarer i koden. Sedan kan du bryta ut dina "rubriker" till egna metoder och anropa dem en efter en. Då kommer du till slut få ett program som du kan läsa ungefär lika enkelt som din ursprunliga text.
Som exempel har jag gjort det baklänges på din kod.
Här har jag bara numrerat och skrivit beskrivande kommentarer. Jag föreställer mig att texterna skulle kommit från ditt dokument istället.
namespace Uppgift1
{
class Program
{
static void Main(string[] args)
{
double int1, int2;
//1. Skriv ut instruktion till användaren
Console.Write("Kollar vilket tal som är störst eller om talen är lika:\n");
Console.Write("\n\n");
//2. Läs indata från användaren
Console.Write("Mata in tal 1: ");
int1 = Convert.ToDouble(Console.ReadLine());
//3. Läs indata från användaren
Console.Write("Mata in tal 2: ");
int2 = Convert.ToDouble(Console.ReadLine());
//4a. Jämför de inmatade värdena och skriv ut resultatet
if (int1 > int2)
Console.WriteLine("{0} är störst.\n", int1, int2);
//4b. Jämför de inmatade värdena och skriv ut resultatet
else if (int1 == int2)
Console.WriteLine("{0} och {1} är lika \n", int1, int2);
//4c. Jämför de inmatade värdena och skriv ut resultatet
else
Console.WriteLine("{1} är störst.\n", int1, int2);
//5. Läs indata från användaren
Console.WriteLine("tryck på valfri knapp för att stänga programmet");
Console.ReadKey();
}
}
}
Här har jag brutit ut "rubrikerna" till egna metoder och anropar dem från ett och samma ställe. De tidigare kommentarerna har jag flyttat med, bara för att visa var koden har landat. Jag har inte ändrat på någonting öht, utan bara flyttat saker. Se om du tycker att din main-metod blev mer lättläst än tidigare.
class Program
{
static void Main(string[] args)
{
double int1, int2;
DisplayInstructions();
Console.Write("Mata in tal 1: ");
int1 = GetUserInput();
Console.Write("Mata in tal 2: ");
int2 = GetUserInput();
CompareInputAndDisplayResult(int1, int2);
ExitProgram();
}
//1. Skriv ut instruktion till användaren
private static void DisplayInstructions()
{
Console.Write("Kollar vilket tal som är störst eller om talen är lika:\n");
Console.Write("\n\n");
}
//2. Läs indata från användaren
//3. Läs indata från användaren
private static double GetUserInput()
{
return Convert.ToDouble(Console.ReadLine());
}
private static void CompareInputAndDisplayResult(double int1, double int2)
{
//4a. Jämför de inmatade värdena och skriv ut resultatet
if (int1 > int2)
Console.WriteLine("{0} är störst.\n", int1, int2);
//4b. Jämför de inmatade värdena och skriv ut resultatet
else if (int1 == int2)
Console.WriteLine("{0} och {1} är lika \n", int1, int2);
//4c. Jämför de inmatade värdena och skriv ut resultatet
else
Console.WriteLine("{1} är störst.\n", int1, int2);
}
//5. Avsluta programmet
private static void ExitProgram()
{
Console.WriteLine("tryck på valfri knapp för att stänga programmet");
Console.ReadKey();
}
}
Koden gör exakt samma sak som tidigare, jag har bara försökt göra den mer lättläst. För att ha någon riktlinje nästa gång kan du tänka så här: ha som mål att din beskrivande text (som du skriver i ett vanligt dokument) ska läsas ungefär likadant som metodanropen gör i den slutliga koden. Då behöver du egentligen inte ha några kommentarer, för metoderna är så tydligt namngivna att de berättar själva vad de gör, och då blir koden nästan lika lättläst som din ursprungliga text
Det kan framstå som löjligt och onödigt krångligt. Men jag lovar dig, när din kod är så enkel som det bara går kommer du märka att du har full förståelse för vad du gör och då är det ju faktiskt enklare att åtgärda felen!