tag:blogger.com,1999:blog-3058726084145190258.post8535046302419774335..comments2023-03-02T09:18:00.483+01:00Comments on Daniel Kolman: Co by měl každý programátor vědětDaniel Kolmanhttp://www.blogger.com/profile/12541334749939254340noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-3058726084145190258.post-36541979202042875712012-04-08T21:07:27.722+02:002012-04-08T21:07:27.722+02:00No, aj ked prioritu operatorov poznam, zatvorky po...No, aj ked prioritu operatorov poznam, zatvorky pouzivam. Citatelnost kodu je pre mna dolezitejsia. Staci stredne dlhy logicky vyraz a pri citani po niekom ocenim plne uzatvorkovany vyraz. Usetri mi kopec casu.Brano Gogahttps://www.blogger.com/profile/14312329536163986185noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-68375155494109070922009-10-27T07:03:53.582+01:002009-10-27T07:03:53.582+01:00No ja bych se pridal s tim ze hodne lidi tape v to...No ja bych se pridal s tim ze hodne lidi tape v tom jak pouzivat vyjimky, jakej je rozdil mezi throw; a (re)throw e;. <br><br>Dalsi kapitola je taky pouzivani using().<br><br>No a vubec nejcastejsi nedostatek jsou spatne konstrukce diky neznalosti nebo nedostatecnemu vyuzivani principu OOP.<br><br>Bohuzel patrim k dryhemu extremu. Me konstrukce v C# jdou take poznat bez blame. Asi by to chtelo vetsi monitor, aby mi ukecanost kodu prestala vadit.gorlinenoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-16831746021232763872009-10-27T07:09:01.438+01:002009-10-27T07:09:01.438+01:00Dobrý seznam napsal Scott Hanselman o tom co by .N...Dobrý seznam napsal Scott Hanselman o tom co by .NET vývojář měl vědět.<br><br><a href="http://www.hanselman.com/blog/CommentView.aspx?guid=d835178f-a649-45f5-907f-28ad1177d8d5" rel="nofollow">What Great .NET Developers Ought To Know</a>MicTechhttp://www.blogger.com/profile/10185077555626201151noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-41680621028903835142009-10-27T07:29:40.952+01:002009-10-27T07:29:40.952+01:00To, ze by mel vyvojar svuj jazyk dobre znat, je be...To, ze by mel vyvojar svuj jazyk dobre znat, je bez diskuze. U zavorek v podminkach si ale nejsem jisty, ze duvodem jejich pouzivani je jen neznalost - ja pouzivam vice zavorek, i kdyz priority operatoru znam. Se zavorkami a spravnym odsazenim mi kod pripada prehlednejsi. Take mam dojem, ze pravidlo "neucte se nazpamet nesmysly jako jsou priority operatoru a pouzivejte radeji vzdy zavorky" je soucasti doporuceni nekterych ucebnic C++ (Eckel). Neznalost priority operatoru me u vyvojaru trapi nejmin - spis mi vadi neschopnost rozumne pracovat s vyjimkami, naprosta neznalost idiomu Dispose, zneuzivani kritickych sekci, vytvareni threadu misto pouziti thread poolu apod.Renehttp://blog.renestein.netnoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-87325791334342575772009-10-27T09:36:23.793+01:002009-10-27T09:36:23.793+01:00Ahoj Dane, takový pěkně kontroverzní článek hned p...Ahoj Dane, takový pěkně kontroverzní článek hned po ránu? :)<br><br>Myslím, že konkrétně s těmi závorkami se dá bezvýhradně souhlasit jen v docela specifických případech. Neděláte žádný JavaScript? Nemáte nějaké skripty z minulosti v PHP nebo ve Visual Basicu? Co podmínky v SQL dotazech? Když hledáš nějaké řešení na webu, nenarazíš třeba na kód v Javě nebo v Pythonu?<br><br>Pokud je odpověď na libovolnou otázku "ano", musíš se potýkat s více jazyky a v tom případě může méně závorek znamenat nutnost strávit čtením kódu o trochu více času (v horším případě dokonce nutnost jít do dokumentace daného jazyka a priority ověřit). Chvilka navíc možná není velký problém, ale porušuje mou oblíbenou zásadu "don't make me think". Jako programátor se chci při čtení kódu zaměřit na celkové flow, ne zkoumat, jak se vyhodnotí ten nebo onen logický výraz. Tobě se čte lépe kód s málo závorkami, mně často naopak (např. výraz z článku chápu okamžitě, bez přemýšlení, ačkoliv obsahuje pro tebe absurdně mnoho závorek; asi bych taky tolik závorek nepoužil, ale v zásadě mi nevadí).<br><br>Bod, se kterým naopak velmi souhlasím, je ten poslední. Vývojář by měl znát pokročilé vlastnosti jazyka a využívat je. Takové lambdy nebo "var", například, totiž můžou čitelnost kódu významně ovlivnit. Četl jsem např. nějakou knížku, kde se C# používal jako Java, a bylo to utrpení.<br><br>Každopádně je zajímavé vidět, jak máme každý jiné preference. Jestli někdy budu žádat o práci v GMC, před pohovorem mám jasno: nastudovat priority operátorů :)Borekhttp://www.blogger.com/profile/08345665406069843365noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-20966091117436875872009-10-27T16:42:53.182+01:002009-10-27T16:42:53.182+01:00Dane, jak se z if(((age>60)||(disabled==true))&...Dane, jak se z <br>if(((age>60)||(disabled==true))&&(balance>limit))<br>odstraňuje 8 závorek?stejhttp://www.leporelo.eunoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-81632767518378324432009-10-27T21:31:02.216+01:002009-10-27T21:31:02.216+01:00Ja si ani nepamatuju presne prioritu operatoru Scr...Ja si ani nepamatuju presne prioritu operatoru Scriptovaciho jazyka Tcka a to jsem ho sam psal ...<br>Jinak nenutnost blamovani setri cas :-)<br>Ale je jasny, ze je potreba neco znat, o tom zadna.<br><br>To Borek: Treba v C++ tymu v GMC meme prijimaci dotaznicek jiny, i kdyz uz sme ho dlouho netestovali a ani nepredpokladam ze by byl brzo potreba.Bobrisnoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-60597388720302140792009-10-27T22:44:47.062+01:002009-10-27T22:44:47.062+01:00jak jde tvuj pozadavek na tyhle znalosti dohromady...jak jde tvuj pozadavek na tyhle znalosti dohromady s 'on site customer' a 'pair everything'. jak mam pak ja,jako zakaznik cist&&reviewovat tvuj kod jestli je business korektni?<br><br>Borek-super komentarjendanoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-85094489247688202292009-10-29T10:16:37.658+01:002009-10-29T10:16:37.658+01:00Ještě dodatek - myslím si, že použití více závorek...Ještě dodatek - myslím si, že použití více závorek než je potřeba, není zase takovej problém. Ono stačí na vhodný místa vložit mezery a je to hned čitelnější.<br><br>Co si myslím, že je důležitější - znalost frameworku, ve kterým danej člověk pracuje. <br>Co je horší - zkoumat, proč v tom výrazu je pár závorek navíc, nebo proč tahle třída existuje a proč dělá to stejný, co už danej framework poskytuje od základu. Anebo nevyužití nějaké techniky, protože ten člověk neví, že je to vůbec možný.stejhttp://www.leporelo.eunoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-86592324854328730302009-10-29T11:14:40.354+01:002009-10-29T11:14:40.354+01:00Dane, pouze 1 ze 4 tvých podmínek splňuji na 100%....Dane, pouze 1 ze 4 tvých podmínek splňuji na 100%. Opravdu musí programátor znát nazpaměť zápis datových typů? A skutečně je tak podstatné umět zkonvertovat FFEEDD na int?Radek Matějhttp://www.blogger.com/profile/03399996258767111823noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-76413963791539731542009-10-29T18:27:14.775+01:002009-10-29T18:27:14.775+01:00Já prostě pořád věřim tomu, že kód jednoho program...Já prostě pořád věřim tomu, že kód jednoho programu má vypadat tak, jako kdyby ho napsal jeden programátor za jeden den (za předpokladu že dokáže udržet styl alespoň 8 hodin:-))) Kód s konzistentním stylem se daleko líp čte. Proto mě přidávání nadbytečných mezer, závorek, regionů apod. štve, protože se pak nesoustředim na obsah kódu, ale na jeho formu. <br><br>Překvapuje mě, že je to pořád kontroverzní téma. Co je špatnýho na tom chtít, aby lidi co spolupracujou na jednom programu, dodržovali domluvené společné zásady? A proč vymýšlet zásady znova a znova, když existují nástroje jako R#, StyleCop?<br><br>Pokud se týká základních operátorů o kterých mluvím, jejich priorita je JavaScriptu, SQL a C# stejná.<br><br>jenda: copak my nutíme "on site customer" číst kód? Po našich customerech (=PM) chceme zadání pouze z hlediska "business people"<br><br>stej: "stačí na vhodný místa vložit mezery" - se StyleCopem by jsi se se zlou potázal:-)<br><br>"Dane, jak se z odstraňuje 8 závorek?"<br>if(age>60 || disabled==true && balance>limit)<br>Není to přehlednější?<br><br>borek: Tohle podle mě do přijímacího pohovoru nepatří. Je to součást domluvenýho stylu pro konkrétní program, může se lišit firmu od firmy (i když by neměl). Jiná věc je znalost frameworku, ten samozřejmě programátor musí znát. Když někdo neví, že decimal se zapisuje s postfixem M, asi v C# moc dlouho nedělá.<br><br>nikdo: Parsování hexa čísel nemusí nikdo znát nazpaměť, ale když má někdo k disposici help, MSDN a Google a napíše tohle: <a href="http://screencast.com/t/37xByMJff" rel="nofollow">http://screencast.com/t/37xByMJff</a> tak je někde problém.Ali Babahttp://www.blogger.com/profile/12541334749939254340noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-36287475551748790382009-10-29T21:56:34.221+01:002009-10-29T21:56:34.221+01:00Zkus si toto zkompilovat a spustit. Pointa mé otáz...Zkus si toto zkompilovat a spustit. Pointa mé otázky byla v tom, že z výrazu nemůžeš odstranit 8 závorek, ale jen 6.<br><br>int balance = 5;<br>int limit = 10;<br>int age = 80;<br>bool disabled = true;<br><br>Console.WriteLine("{0}", ((age > 60) || (disabled == true)) && (balance > limit));<br>Console.WriteLine("{0}", age > 60 || disabled == true && balance > limit);<br>//anebo<br>Console.WriteLine("{0}", ((true || true) && (false)));<br>Console.WriteLine("{0}", true || true && false);<br><br>Pak asi přestávám chápat smysl celýho článku :(stejhttp://www.leporelo.eunoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-62749272975383767532009-10-30T09:15:27.794+01:002009-10-30T09:15:27.794+01:00Ano, kód, který jsi publikoval dobře znám, ale to ...Ano, kód, který jsi publikoval dobře znám, ale to neznamená že musíš znát konverzi z FFEEDD na int. Stačí se zamyslet a pak Google, intellisense a rady kolegů dodělají zbytek. Biflování pravidel tady ničemu nepomůže.Radek Matějhttp://www.blogger.com/profile/03399996258767111823noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-37921653720442656762009-10-30T12:32:47.385+01:002009-10-30T12:32:47.385+01:00stej: jaj, sám jsem se nachytal na past závorek:-)...stej: jaj, sám jsem se nachytal na past závorek:-))) Spletl jsem ten příklad, z toho co jsem tam napsal se dá opravdu odstranit jen 6 závorek. To je praktická ukázka toho, jaký jsou závorky zlo. Když se to napíše:<br><br>(age>60 || disabled==true) && balance>limit<br><br>pak je jasný že tam ta závorka je kvůli prioritě operátorů. Když se tam naházej přebytečný závorky:<br><br>((age>60)||(disabled==true))&&(balance>limit)<br><br>tak člověk musí počítat závorky na obou stranách, aby zjistil co to teda dělá.Ali Babahttp://www.blogger.com/profile/12541334749939254340noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-85757954196184502012009-10-31T13:21:21.153+01:002009-10-31T13:21:21.153+01:00Nevydrzel jsem a taky tu musim prihodit nazor. I k...Nevydrzel jsem a taky tu musim prihodit nazor. I kdyz, abych se neopakoval, tak naprosto souhlasim s panackem Radkem Matejem.<br><br>Napr. lamba fce jsem potkal ve vice jazycich, vyzkousel .. a nikdy nepouzil. Jak se zapisuji ruzne datove typy potrebuju jedno za 2 roky, takze se to fakt nehodlam ucit nazpamet. A rozhodne jsem za par zavorek navic (ovsem s vhodnym odsazenim mezerou), zakazovat tohle je dle meho zbytecny perfekcionismus a hnidopistvi. :)Jirka bianco Vágnerhttp://www.blogger.com/profile/02388560549743254600noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-61005943089663958712010-01-27T14:46:57.596+01:002010-01-27T14:46:57.596+01:00proc ne:)proc ne:)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-18534722760596778502010-02-13T01:29:56.671+01:002010-02-13T01:29:56.671+01:00Jo tak alibabo, ty me pripadnes jako dalsi typicky...Jo tak alibabo, ty me pripadnes jako dalsi typicky cesky programator - vytahnout naky technicky spek typu jak se zkonvertuje FFEEDD na int, nebo decimal s postfixem - veci ktery pouzijes parkat za zivot. Presne tim ukazes jak ses mistr sveta, ale tam venku alibabo (a ted myslim zahranici a svet kolem tebe) se hraje na to jestli umis myslet a aplikovat znalosti, jaky mas prehled. Dobry programator si veci podobneho razeni dohleda, protoze vi, kde je najit.<br><br>Bohuzel ale podle me timto zpusobem nezjistis kvalitu, podle me je asi mnohem dulezitejsi jak stavis program a jak resis problem nez nejaka technicka vychytavka.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-46552913779731353872010-06-30T22:03:41.745+02:002010-06-30T22:03:41.745+02:00souhlas.souhlas.Anonymousnoreply@blogger.com