Dostal jsem za úkol naučit se za 2 týdny C# a Javu a oproti Visual Basicu jsou všude tyhle otravné { závorky } . Sleduju k tomu třeba videa na https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169 a ten uzavírá každý byť i nejmenší blok kodu do { } . Jaká je běžná praxe? Nevěřím, že to takhle dělá většina.
Fórum › .NET
Jak je to s těmi { závorkami? }
#1 Dumbo
Je to mene nachylne na chyby, pokud pouzivas blok vsude.
Napriklad mas kod jako:
if (neco)
udelejA();
else
udelejB();
A ted si za tyden reknes, ze by to chtelo v else vetvi jeste udelat neco dalsiho.
Tak doplnis na:
if (neco)
udelejA();
else
udelejB();
udelejB2();
Ale ted se ti zahadne pousti udelejB2, ikdyz to pustilo udelejA.
Dalsi typicka chyba je:
if (neco);
delej();
Tady uz ti blok nemusi uplne pomoci, da se to prehlednout i kdyz je tam if (neco);{ ...
Proste pokud si zvyknes rovnou psat bloky, hrozi mensi riziko, ze je pri rozsirovani kodu zapomenes doplnit.
#1 Dumbo
KIIV už sice odpověděl, ale když už jsem to napsal.. (vypadl mi net)
Například budeš mít nějakou podmínku:
//pokud se podmínka splní, provede se VykonejA(), VykonejB(), ale vždy VykonejD()
if(i == j)
{
VykonejA();
VykonejB();
}
else
VykonejC();
VykonejD();
//pokud ne, provede se VykonejC(), ale vždy VykonejD()
pokud to uděláš takto:
if(i == j)
{
VykonejA();
VykonejB();
}
else
{
VykonejC();
}
VykonejD();
//provede se vše jako v předchozím případě, jen to může někomu připadat přehlednější
a poslední příklad:
//pouze pokud se podmínka splní, provede se VykonejA(), ale vždy VykonejB()
if(i == j)
VykonejA();
VykonejB();
{} závorky jsou moc dobrá věc, a mnohem přehlednější než v jiných jazycích např. begin / end
Ještě přidám jeden, možná trochu úsměvný, důvod: Visual Studio "našeptává" syntaxi. Je rychlejší to odklepnout než ručně vypisovat.
hu
#5 Mutagen
Skoro každý jazyk má bloky a mívají je různě Nejjednoduší je asi ":" v Pythonu s následným odsazením, následují "{}" v C-like jazycích a pak je ještě hromada jazyků, které byly inspirovány Cobolem. Mně je to vcelku jedno, všude píši jen ":". Editor mi to následně opraví na správnou syntaxi se závorkami a odsadí.
Dávat i jeden příkaz do bloku jsem se naučil už v Pascalu a je to dobrý zvyk. Program se pak mnohem lépe čte a nenaseká se tolik chyb. Dnes už by to možná nebylo tak potřebné, protože většina editorů umí automaticky odsazovat a chyba by byla vidět, ale všechny editory to nezvládají a některé to dělají špatně.
Mnohem víc mi vadí zbytečné prázdné řádky uvnitř metod, které čitelnost zhoršují.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Jak oříznout produktové foto, jak změnit pozadí na bílé ? — založil diamondgroup
Makro pro Word: Jak zjistit jestli je vybraný text a jak nastavit sc… — založil oxidián
Pls jak zpustit z programu jinou aplikaci, a jak dělit aby zůstal zb… — založil Choco-TUx
Jak jak dobre navrhnout DB v MySQL — založil Beranek
Jak na to???? — založil silaro
Moderátoři diskuze