Diskuze: Štruktúra kódu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Kód je přehledný, ale trochu se mi nezdá ta metoda OverenieZadania() - určitě by to šlo udělat líp. Minimálně bys mohl kontrolovat podmínky složeně. Takže místo
if(a)
{
if(b){
// Ano
}else{
// Ne
}
}
můžeš napsat
if(a && b){
// Ano
}else{
// Ne
}
Ale určitě by ta metoda šla udělat jinak, lépe.
Komentáře uvnitř metod chybí, ale u tohohle programu to naprosto nevadí - tady nejsou komentáře potřeba, myslím, že pro takhle krátký kód není potřeba je vypisovat. Ale jestli budeš někdy psát delší kód, nezapomínej na ně. Když za měsíc budeš chtít upravit nějakou tu složitou podmínku co pracuje s 6 LINQ querynama, nebudeš to muset půl hodiny luštit
Ohledně návrhu nemám v tomhle případě sebemenších poznámek. Jen tak dál!
Malé drobnůstky, které ti zpříjemní život
Když chceš vypsat nový řádek, nemusíš psát Console.WriteLine(""), ale
prostě do předchozího výpisu můžeš dát \n
Console.WriteLine("Radek 1");
Console.WriteLine();
Console.WriteLine("Radek 3");
==
Console.WriteLine("Radek 1\n");
Console.WriteLine("Radek 3");
Doplňování proměnných do textu:
Console.WriteLine("{0}, {1}, {2}", a, b, c);
==
Console.WriteLine($"{a}, {b}, {c}");
string s = $"{a}, {b}, {c}"; // Toto muzes pouzit i u normalniho stringu
LINQ
Vážně. Jakmile potřebuješ pracovat v aplikaci s polem (nebo listem, nebo
libovolnou kolekcí... Klidně i s databází), přidávat něco, upravovat,
hledat... Použij LINQ . Nauč se ho. Je to taková magická věc, která
vyřeší všechny tvé problémy s kolekcemi
Ke komentáři nade mnou přidám výrazný problém. Kód není čistě v Aj. VEŠKERÝ kód se píše v Aj a neexistuje jediný důvod pro to, aby to bylo jinak.
Mně spíš vadí
Použil som trochu OOP
když OOP tak úplně - a s tím souvisí i nepoužívání veřejných proměnných
//Variables
public int number1, number2, number3;
public int vybrateCislo, zadaneCislo;
public int odpocet = 1000;
proměnné mají být privátní a přistupuje se k nim pomocí veřejných
metod - getteru a setteru - což C# řeší
elgantně vlastnostmi
zápis:
public int number1{get;set;}
privátní proměnnou a zmíněné metody vygeneruje za tebe
můžeš tím mimo jiné zajistit, že proměnná bude jen pro čtení :
public int number1{get;private set;}
to je ale jen jako příklad - ve skutečnosti všechny proměnné ve třídě Cisla nějak zpracovávají veřejné metody a můžou tedy být privátní a nepotřebuješ k nim ani přistupovat přes vlastnosti
další věc - co nejdřív se odnauč používat na čekání uspávání
vlákna Thread.Sleep() - v tvém případě dokonce na sekundu
- to je cesta do pekel
spíš si prostuduj async - await
Hej komentáre určite používam m ale to mi to neprišlo nutné
Je jedno, jestli ti to přijde dobré, nebo ne, kód se píše anglicky, i třeba nějaký tvůj domácí test. V neformálním prostředí je to dobrý zvyk, v profesionálním naprostá nutnost.
za mě je to že: new Random by se měl volat za běhu programu pouze jednou.
Všetkým vám ďakujem za vaše rady a typy
Zobrazeno 10 zpráv z 10.