Diskuze: exkluzivní zdroják

Volná diskuze exkluzivní zdroják

Avatar
Зайчик
Člen
Avatar
Зайчик:

hoj jeden týpek mi poslal zdrojový kód protože maturuje z programování a chtěl pomoct, pote co jsem viděl ukázkový zdrojový kód od jeho UČITELE programování jsem ho poslal do .... :) no nic přeju hodně smíchu při čtení kódu.

-> kousíček z konverzace :) fascinující že někdo takový maturuje z programování. (Napsal jsem mu srovnání jmen podle abecedy ta hrůza přišla až potom)

on : už to máš?
já : jo
on : pošli zdroják :)
já : Program.cs -> soubor byl úspěšně odeslán
on : co je to public void?:)
já : si snad děláš pr*el ne?
on : to je něco jako read line ne?
já : ...

a teď už slíbený zdroják

using System;

namespace Soustava_dvou_rovnic
{
  class Program
  {
    public static void Main(string[] args)
    {
        Console.Title = "Řešení soustavy dvou rovnic";

//Vstup hodnot koeficientů - program řeší i varianty s nulou zadanou za a1, za a2

Zadani:
   Console.WriteLine("");
   Console.Write(" Zadej koeficienty 1. rovnice: a1 = ");
   double a1 = Convert.ToDouble(Console.ReadLine());
   Console.Write("                               b1 = ");
   double b1 = Convert.ToDouble(Console.ReadLine());
   Console.Write("                               c1 = ");
   double c1 = Convert.ToDouble(Console.ReadLine());
   Console.WriteLine("");
   Console.Write(" Zadej koeficienty 2. rovnice: a2 = ");
   double a2 = Convert.ToDouble(Console.ReadLine());
   Console.Write("                               b2 = ");
   double b2 = Convert.ToDouble(Console.ReadLine());
   Console.Write("                               c2 = ");
   double c2 = Convert.ToDouble(Console.ReadLine());
   Console.WriteLine("");Console.WriteLine("");
   Console.WriteLine("---------------------------------------------------");
   Console.WriteLine("");

/Výpis soustavy rovnic
   double x;
   double y;

if (b1<0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a1, -b1, c1);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a1, b1, c1);

if (b2<0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a2, -b2, c2);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a2, b2, c2);

   Console.WriteLine("          ________________________");

//Řešení pro a1 = 0 - proměnná y

if (a1 == 0)
{
   Console.WriteLine("                    {0,2} y  =  {1,2}", b1, c1);
   Console.WriteLine("                       y  =  {0,2:F2}", c1/b1);
   Console.WriteLine("                     ===============");

   y = c1 / b1;

 //Řešení pro a1 = 0 - proměnná x

   Console.WriteLine(""); Console.WriteLine("");

 if (b2 < 0)
    Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a2, -b2, c2);
 else
    Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a2, b2, c2);

 if (b2 * y < 0)
    Console.WriteLine("           {0,3} x  -  {1,2:F2} =  {2,2}", a2, -b2 * y, c2);
 else
    Console.WriteLine("           {0,3} x  +  {1,2:F2} =  {2,2}", a2, b2 * y, c2);

    Console.WriteLine("                   {0,3} x  =  {1,2:F2}", a2, c2 - b2 * y)
    Console.WriteLine("                       x  =  {0,2:F2}", (c2 - b2 * y) / a2);
    Console.WriteLine("                     ===============");

    x = (c2 - b2 * y) / a2;

    Console.WriteLine(""); Console.WriteLine("");

goto Vysledek;

//Řešení pro a1 = 0 - proměnná y

if (a2 == 0)
 {
   Console.WriteLine("                    {0,2} y  =  {1,2}", b2, c2);
   Console.WriteLine("                       y  =  {0,2:F2}", c2/b2);
   Console.WriteLine("                     ===============");

   y = c2 / b2;

//Řešení pro a1 = 0 - proměnná x

   Console.WriteLine(""); Console.WriteLine("");

   if (b1 < 0)
      Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a1, -b1, c1);
   else
      Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a1, b1, c1);

   if (b1 * y < 0)
      Console.WriteLine("           {0,3} x  -  {1,2:F2} =  {2,2}", a1, -b1 * y, c1);
   else
      Console.WriteLine("           {0,3} x  +  {1,2:F2} =  {2,2}", a1, b1 * y, c1);

      Console.WriteLine("                   {0,3} x  =  {1,2:F2}", a1, c1 - b1 * y);
      Console.WriteLine("                       x  =  {0,2:F2}", (c1 - b1 * y) / a1);
      Console.WriteLine("                     ===============");

      x = (c1 - b1 * y) / a1;

      Console.WriteLine(""); Console.WriteLine("");
      goto Vysledek;
 }


// - proměnná y

if (a2*b1 < 0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a1 * a2, -a2 * b1, a2 * c1);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a1 * a2, a2 * b1, a2 * c1);

if (-a1*b2 < 0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", -a1 * a2, -(-a1 * b2), -a1 * c2);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", -a1 * a2, -a1 * b2, -a1 * c2);

   Console.WriteLine("          ________________________");

   Console.WriteLine("                    {0,2} y  =  {1,2}", a2 * b1 - a1 * b2, a2 * c1 - a1 * c2);
   Console.WriteLine("                       y  =  {0,2:F2}", (a2 * c1 - a1 * c2)/(a2 * b1 - a1 * b2));
   Console.WriteLine("                     ===============");

   y = (a2 * c1 - a1 * c2) / (a2 * b1 - a1 * b2);

//proměnná x
   Console.WriteLine(""); Console.WriteLine("");

if (b1 < 0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a1, -b1, c1);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a1, b1, c1);

if (b1*y < 0)
   Console.WriteLine("           {0,3} x  -  {1,2:F2} =  {2,2}", a1, -b1 * y, c1);
else
   Console.WriteLine("           {0,3} x  +  {1,2:F2} =  {2,2}", a1, b1 * y, c1);
   Console.WriteLine("                   {0,3} x  =  {1,2:F2}", a1 , c1 - b1 * y);
   Console.WriteLine("                       x  =  {0,2:F2}", (c1 - b1 * y) / a1);
   Console.WriteLine("                     ===============");

   x = (c1 - b1 * y) / a1;

   Console.WriteLine(""); Console.WriteLine("");

Vysledek:

//Výpis výsledku

   Console.Write("                 ");
   Console.BackgroundColor = ConsoleColor.Cyan;
   Console.WriteLine(" [x; y] = [{0,2:F2}; {1,2:F2}] ",x , y);

//Nové zadání příkladu

   Console.ResetColor();
   Console.WriteLine(""); Console.WriteLine("");

   Console.Write("   Nové zadání? a/n: ");

   string a = Console.ReadLine();

if (a == "a")
 {
   Console.Clear();
   goto Zadani;
 }

   Console.ReadKey(true);

    }
  }
}
Odpovědět  +2 13.5.2013 17:55
Коммунизм для нашего будущего!
Avatar
Michal Žůrek (misaz):

Já jsem to nebyl...

Nicméně i to je na mě moc. A vím co zanamená public void.

ALe zajímavé. Doufám že na učitele, který nevysvětlí ani public void na školách nenarazím.

Nahoru Odpovědět 13.5.2013 17:59
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Зайчик
David Čápka:

Njn, české státní školy :D

Nahoru Odpovědět 13.5.2013 18:03
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Зайчик
Člen
Avatar
Odpovídá na David Čápka
Зайчик:

A já blbec nadávám na našeho učitele, který nerad používá enum. :D Díky bohu za něj.

Nahoru Odpovědět 13.5.2013 18:04
Коммунизм для нашего будущего!
Avatar
Michal Žůrek (misaz):

Já sem rád že máme devbook, můžu se tu doučit co nevím. Jen doufám že pak na střední nebudu chytřejší než učitel :D

Enum, neEnum podle mě má nějaké nevýhody (minimálně v javě, mi něco nešlo), jinak je samozřejmě využitelný v hodně případech a (i když nějaké ty mouchy podle mě má) ho používám celkem často.

Nahoru Odpovědět 13.5.2013 18:12
Nesnáším {}, proto se jim vyhýbám.
Avatar
Зайчик
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Зайчик:

já o žádných mouchách nevím :D teď si šlápnul do bláta :D jaký má mouchy? Kor v javě? :D

Nahoru Odpovědět  +1 13.5.2013 18:14
Коммунизм для нашего будущего!
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Jiří Gracík:

Když enum použiješ k tomu, k čemu slouží tak podle mě žádné nevýhody nemá, zkus nějaké jmenovat :)

Nahoru Odpovědět 13.5.2013 18:16
Creating websites is awesome till you see the result in another browser ...
Avatar
Jiří Gracík
Redaktor
Avatar
Nahoru Odpovědět  +1 13.5.2013 18:16
Creating websites is awesome till you see the result in another browser ...
Avatar
Michal Žůrek (misaz):

Nevím proč, ale nějak mi to nešlo naparsrovat ze stringu, něco se mu na tom nelíbilo.

public static void main(String[] args) {
        neco n = neco.necoval1;
        neco nn = "necoval3";
}
enum neco
{
        necoval1,
        necoval2,
        necoval3
}

u neco nn se něco javě nelíbí :(

Nahoru Odpovědět 13.5.2013 18:47
Nesnáším {}, proto se jim vyhýbám.
Avatar
Homo
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Homo:

To je jasny ze se ji neco nelibi, kdyz tragede do enumu cpes String :-D

Nahoru Odpovědět 13.5.2013 18:51
1010011 1000101 1011000
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Зайчик
Honza Bittner:

Ti vážně napsal maturant "co je to public void ?:)"

Tak to je síla :)

Nahoru Odpovědět 13.5.2013 19:18
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Nahoru Odpovědět 13.5.2013 19:21
Nesnáším {}, proto se jim vyhýbám.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Зайчик
Petr Nymsa:

Fajn, na zdejší škole bych měl odmaturováno úspěšně asi ve třetím měsíci prváku :D... ach ano, státní školy :) , jsem rád že na ní nechodím

Nahoru Odpovědět 13.5.2013 19:23
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Petr Nymsa
Honza Bittner:

No ... bohužel někdo nemá tu příležitost :)

Nahoru Odpovědět 13.5.2013 19:24
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Petr Nymsa:

Myslím že v Javě by to mělo být stejný, ale nevím to jistě, přiřadíš mu prostě enum ;) tj neco.neconova3

Nahoru Odpovědět 13.5.2013 19:25
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Homo
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Homo:

Reseni si musis napsat. Priklad z jednoho meho zdrojaku:

public static enum Repeat{
        NONE, DAILY, MONTHLY, YEARLY;

        public static Repeat getRepeat(String repeat){
            switch (repeat) {
                case "Daily":
                    return DAILY;
                case "Monthly":
                    return MONTHLY;
                case "Yearly":
                    return YEARLY;
                default:
                    return NONE;
            }
        }

        public String toString(){
            switch (this) {
                case DAILY:
                    return "Daily";
                case MONTHLY:
                    return "Monthly";
                case YEARLY:
                    return "Yearly";
                default:
                    return "NONE";
            }
        }
    }

Pak staci jen:

Repeat r = Repeat.getRepeat("Daily");
Nahoru Odpovědět 13.5.2013 19:27
1010011 1000101 1011000
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Honza Bittner
Petr Nymsa:

Jasný a já to beru :) Netvrdím že všechny školy jsou na tom špatně, naopak jsou i dobré STÁTNÍ ! školy, bohužel te´d každá druhá škola si cpe i obor IT a pak to takhle vypadá. Viděl jsem školu, která byla číšník / kuchař a měla i obor Ekologie a informační technologie, to potom o něčem vypovídá ;). Ale když se jde na školu, která se zaměřuje na IT + Stroje jak je běžné, myslím že to bude celkem fajn :)

Nahoru Odpovědět  +2 13.5.2013 19:30
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Зайчик
Člen
Avatar
Odpovídá na Honza Bittner
Зайчик:

vážně :) no ... od severních Čech radši ruce pryč ;)

Nahoru Odpovědět 13.5.2013 19:38
Коммунизм для нашего будущего!
Avatar
Odpovídá na Petr Nymsa
Lukáš Hruda (Luckin):

Všeobecně jsou na tom soukromé školy mnohem hůře než státní. Jsou výjimky a pokud navštěvuješ jednu z nich, tak ti to přeji, ale 90% soukromým školám jde jenom o zisk, nechají tě projít za nic, hlavně že platíš, co na tom žes ve škole byl 3x za pololetí, a nenaučí tě vůbec nic.
Jinak u náš na škole taky maturujeme z programování, ale jenom teorie, třičtvrtě třídy neví jak deklarovat proměnnou. I když to je asi tím, že jsem zaměřeni hlavně na sítě, u těch máme i praktickou část a obávám se, že to nebude sranda :D

 
Nahoru Odpovědět  +2 13.5.2013 19:49
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Petr Nymsa:

Čekal sjem tento dotaz nebo spíše komentář na otázku soukromá škola a maturita v kapse. A ano máš zcela pravdu a ano jsem na škole která je vyjímkou :). Máme zde mnoho skvělých učitelů, kteří učí nejen C#javau,C,C++ ale i Assemblery a spoustu jiných. Špičkové vybavení také, velmi dobré učitele na sítě, jak jsem psal dřív, naše škola je jedním ze školících center CCNA, máme tedy akreditované intruktory. Když nechceš u nás na škole dělat, naučíš se víc než na jiných a když se naučíš projdeš, když en, neprojdeš :). Je to klasická škola, která ti dává hromadu příležitostí. Škola hodně silně spolupracuje s Microsoftem, nesutálé nabídky od firem, soutěže ... ale dost, prostě se školou jsem hodně spokojený a asi jeden z mála do školy i rád chodím :)

Nahoru Odpovědět 13.5.2013 19:55
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Btw "Když nechceš u nás na škole dělat, naučíš se víc než na jiných a když se naučíš projdeš, když en, neprojdeš" jsem napsal špatně ! :D ... když sám nebudeš dělat něco navíc, naučíš se i tak spoustu ale nebudeš v tom až tak dobrý, známe to všichni. A je to škola, kde prostě také záleží jestli umíš nebo ne. Platíme za vzdělání, vybavení ne za maturitu :)

Nahoru Odpovědět 13.5.2013 20:04
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Petr Nymsa
Lukáš Hruda (Luckin):

Já chodím na státní školu (nebo spíše chodil), Cisco tu máme taky a naučil jsem se toho tu o sítích opravdu hodně. Programování tu máme sice taky jako plnohodnotný předmět, ale nenaučil jsem se na něm vůbec nic, všechno co umím jsem se nějak naučil sám.

 
Nahoru Odpovědět 13.5.2013 20:06
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
TomBen:

Problém je obvykle v tom, že se ke vzdělání přistupuje jako k povinnosti.
Všichni to chápou jako vstupenku a jak si ji seženeš se jeví vedlejším.
Dokonce to vypadá, že kdo něco získá bezpracně je vlastně ten lepší.
Chce to méně studentů a více pracantů. Pak úroveň studia může alespoň
potenciálně vzrůst. Momentálně nemůže, protože čistě selskou logikou
by mohlo každému dojít, že se nedá třicet demotivovaných lidí něco
násilím naučit, když de facto nechtějí. A to se týká jakýchkoli škol,
které z libovolného důvodu dopustí velký počet studentů.

Nahoru Odpovědět  +4 13.5.2013 20:07
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Honza Bittner
Redaktor
Avatar
Nahoru Odpovědět 13.5.2013 20:24
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na TomBen
Lukáš Hruda (Luckin):

Velký počet studentů je proto, že maturita (či výuční list) je dnes považována za samozřejmost, bez které je v podstatě nemožné si najít slušnou práci. Lidé v podstatě nemají jinou možnost než studovat, ať už cokoliv, jen aby měli ten papír, protože bez něj jsou nic. Je jim jedno jak se k němu dostanou a jestli se při tom něco naučí. Podle mě za to můžou hloupé požadavky zaměstnavatelů. Vždyť už i bakalář je dnes v některých oborech samozřejmost. Přitom nějaký papír vůbec nevypovídá o tom co člověk umí.

 
Nahoru Odpovědět  +2 13.5.2013 20:26
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
TomBen:

Tohle neštěstí mají z větší části na svědomí nadnárodní firmy s jejich
personalistickými metodami zaměřenými na vytěžení talentů.
Školství reaguje na jejich výběrová řízení a požadavky lacinějším
poskytováním potřebných papírů a pak je problém najít pekaře, který
se učil péct chleba a opravdu pak peče chleba. Fakt nestojím o to,
aby uměl derivovat, když neumí kůrku do křupava.

Nahoru Odpovědět  +2 13.5.2013 20:43
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Odpovídá na TomBen
Lukáš Hruda (Luckin):

To je pravda. Spousta firem sice raději přijme někoho kdo má praxi než někoho kdo má titul, jenže k tomu abys získal praxi stejnak musíš nejdřív mít ten titul, aby tě někde vzali a tam jsi tu praxi získal. Školy dnes praxi už v podstatě vůbec neposkytují.

 
Nahoru Odpovědět 13.5.2013 20:53
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Lukáš Hruda (Luckin)
David Čápka:

Než firma někoho přijme, vezme si ho na kobereček a zeptá se ho na spoustu pojmů. Titul nikoho nezajímá a nepotřebuješ ho ani k získání praxe.

Editováno 13.5.2013 20:54
Nahoru Odpovědět  +2 13.5.2013 20:54
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Lukáš Hruda (Luckin):

Ale spousta firem má titul uvedený jako požadavek. Většinou tam mají třeba buďto bakalář v určitém oboru nebo 2 roky praxe a podobně...

 
Nahoru Odpovědět 13.5.2013 21:02
Avatar
TomBen
Redaktor
Avatar
Odpovídá na David Čápka
TomBen:

Jo, nejvíc je zajímalo kde bydlím. Teprve potom jsem se dostal
k člověku, který kladl odborné otázky. Bez praxe nebo titulu
pravděpodobně na odborné otázky ani nedojde. :-)

Nahoru Odpovědět 13.5.2013 21:03
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Drahomír Hanák:

My teď náhodou máme praxe. Je to dobrá věc, ale spousta lidí bude jen klikat tabulky v excelu. Když něco umíš, praxi si uděláš i bez titulu ;)

 
Nahoru Odpovědět  +1 13.5.2013 21:03
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Lukáš Hruda (Luckin)
David Čápka:

V Česku chybí IT pracovní síla, firmy si mohou těžko diktovat a pokud to některé nedochází, tak má smůlu. VŠ má každá lama co dělá v Excelu, nic to neznamená.

Nahoru Odpovědět 13.5.2013 21:08
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
TomBen:

Jo a to je taky vtipné. Požadavky v inzerátech. :D
Aby náhodou nebyl personalista nařčen, že pouští do firmy neumětely,
vypisuje do požadavků cokoli, co kde zaslechl. Ono to přece nebude
na škodu, že..
Proto má mnohem větší šanci člověk drzý, než člověk šikovný.

Nahoru Odpovědět  +1 13.5.2013 21:09
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Homo
David Čápka:

Teda... proč to neuděláš přes konstruktor? 8|

Nahoru Odpovědět 13.5.2013 21:18
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na TomBen
David Čápka:

Ano, všechno umím, všechno znám určitě bude fungovat :D

Nahoru Odpovědět  +1 13.5.2013 21:19
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Homo
Člen
Avatar
Nahoru Odpovědět 13.5.2013 21:20
1010011 1000101 1011000
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Homo
David Čápka:

Psal jsem o tom v tutoriálu: http://www.itnetwork.cz/…-a-konstanty

public enum StavObjednavky {
    Nova ("Nová objednávka"),
    Prijata ("Objednávka byla přijata ke zpracování"),
    Potvrzena ("Objednávka byla potvrzena"),
    Dokoncena ("Zboží bylo expedováno");

    private String text;

    StavObjednavky(String text)
    {
        this.text = text;
    }

    @Override
    public String toString()
    {
        return text;
    }
}
Nahoru Odpovědět 13.5.2013 21:27
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Homo
David Čápka:

Kdykoli vidím u někoho použít switch, tak je to špatně. Některé konstrukce bych pro jistotu z jazyka vyndal. Ale lidé si asi stejně vždycky najdou cestu jak použít něco špatně.

Nahoru Odpovědět  +1 13.5.2013 21:28
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na David Čápka
Petr Nymsa:

Co je až tak špatného na switchi ? Pokud mám třeba dejme tomu 6 stavů, raději si napíš swtich, přijde mi přehlednější než if,else if :)

Nahoru Odpovědět  +1 13.5.2013 21:33
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na David Čápka
Lukáš Hruda (Luckin):

Switch je dobrá věc, ten bych nevyndaval :D

 
Nahoru Odpovědět  +1 13.5.2013 21:33
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Petr Nymsa:

Na druhou stranu, můžeme použít hub :D a nebo se rovnou píchneme na router ne ? Internet na směny :D

Nahoru Odpovědět 13.5.2013 21:39
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Petr Nymsa
Lukáš Hruda (Luckin):

Hub místo switche? Kde to žiješ, 100 let za opicema? :D

 
Nahoru Odpovědět 13.5.2013 21:44
Avatar
Homo
Člen
Avatar
Odpovídá na David Čápka
Homo:

Jo to me napadlo taky, jenze tu nejdulezitejsi cast to neresi kvuli ktere jsem sem daval ten kod.

public static Repeat getRepeat(String repeat){
             switch (repeat) {
                 case "Daily":
                     return DAILY;
                 case "Monthly":
                     return MONTHLY;
                 case "Yearly":
                     return YEARLY;
                 default:
                     return NONE;
             }
         }
Nahoru Odpovědět 13.5.2013 21:47
1010011 1000101 1011000
Avatar
Petr Nymsa
Redaktor
Avatar
Nahoru Odpovědět 13.5.2013 21:59
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na Petr Nymsa
Drahomír Hanák:

Špatné je na tom to, že ti vznikají stavy. V ideálním případě by neměly (to samozřejmě nejde vždy). Aplikace se tak může stát mnohem hůř rozšiřitelná. Proto jsou tu návrhové vzory. Některé stavovost aplikace přímo řeší (třeba Null object, state a další)

 
Nahoru Odpovědět 13.5.2013 23:21
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Homo
David Čápka:

Ne, Enum má samozřejmě valueOf, celý ten tvůj prasekód, kde je každá hodnota napsaná 5x (spočítej si kolikrát tam máš daily) lze zapsat správně bez duplicit. Představ si tu enum se 100 hodnotami. Jakmile použijete někde switch, je velká pravděpodobnost, že máte něco špatně, jelikož takové větvení se v OOP nedělá.

Nahoru Odpovědět 14.5.2013 8:11
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Petr Nymsa
Kit:

Switch špatný není, špatné bývá jeho použití. Jako elegantní náhrada switche se nepoužívá if, ale enum. Samozřejmě to nejde vždy.

Na enum mi chybí možnost valueOf("+") apod. To jsou chvíle, kdy musím použít něco jiného, například switch.

Nahoru Odpovědět 14.5.2013 11:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Drahomír Hanák
Kit:

Stavy se někdy docela dobře hodí na tvorbu automatů, ale i to se dá dělat v enum.

Nahoru Odpovědět 14.5.2013 11:08
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Drahomír Hanák
Petr Nymsa:

Napsal jsem stavy špatně, třeba mám v menu 4 tlačítka, a místo toho abych měl 4 metody, která je přihlášená k eventu Click, udělám jednu a přes ID tlačítka ve switchi rozhodnu co udělat... můžu dát tlačítku třeba delegáta, ale takhle mi to přijde i přehlednější

Nahoru Odpovědět 14.5.2013 11:34
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Redaktor
Avatar
Odpovídá na Petr Nymsa
Kit:

A není jednodušší udělat ta 4 tlačítka jako 4 objekty jedné třídy, kterým ty eventy přidám v konstruktoru? Pak nějaký switch nemusíš vůbec řešit.

Nahoru Odpovědět 14.5.2013 11:53
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Petr Nymsa
David Čápka:

Asi mi něco uniká nebo nechápu, proč máš tedy 5 metod místo 4.

EDIT: Jedině, že by ty 4 tlačítka dělaly 1 funkčnost, pak chápu že je metoda jen 1.

Editováno 14.5.2013 12:04
Nahoru Odpovědět 14.5.2013 12:03
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na David Čápka
Petr Nymsa:

No mohl bych mít 4 tlačítka, každé tlačítko si přířadí svoji metodu -> btn_NovaHraClic­k(),btn_NactiH­ruClick()... místo toho mám btnClick() a v ní swtich, který pozná, jaké tlačítko bylo tedy stisknuto (které vyvolalo událost) a udělám patřičné úkony - Nová hra, Načte hru, resetuje,...

Nahoru Odpovědět 14.5.2013 12:25
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Petr Nymsa
David Čápka:

No a proč to tak nemáš?

Nahoru Odpovědět 14.5.2013 12:29
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Petr Nymsa
Redaktor
Avatar
Nahoru Odpovědět 14.5.2013 12:34
Pokrok nezastavíš, neusni a jdi s ním vpřed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 55 zpráv z 55.