Page 2 of 4
Code Kata: staňte sa lepším programátorom
Posted: Sat Aug 04, 2012 19:29
by Petrroll
Jak jsem viděl to video ohledně F#, tak si říkám, že zde by se dokonale hodil (stejně jako LINQ). Jelikož ale nejsem v F# tak zběhlej tak se ptám, bude to někdo psát v F#? Osobně bych totiž takovejhle příklad ocenil.
//připojím se jen s C# kódem.
Code Kata: staňte sa lepším programátorom
Posted: Mon Aug 06, 2012 19:47
by Igor Kulman
Ja to už mám napísane v F#, zverejním v štvrtok
Code Kata: staňte sa lepším programátorom
Posted: Wed Aug 08, 2012 18:15
by Martin Suchan
hotovo v C#, cca 15 radku volneho kodu, zitra sem hodim odkaz na pastebin.com

Code Kata: staňte sa lepším programátorom
Posted: Wed Aug 08, 2012 20:34
by Igor Kulman
hotovo v C#, cca 15 radku volneho kodu, zitra sem hodim odkaz na pastebin.com
Nejde o počet riadkov, ale o čitateľnost (eleganciu). V C by si to s makrami zbuchal aj na menej, ale bol by to hnusný imperatívny kód
Code Kata: staňte sa lepším programátorom
Posted: Wed Aug 08, 2012 22:32
by Petrroll
První pokus, nejde o nic ideální, ale funguje.
//Z důvodů délky je tu jen jako odkaz
TADY.
//Níže přepracovaná verze na základé rad.
Code Kata: staňte sa lepším programátorom
Posted: Wed Aug 08, 2012 23:01
by Igor Kulman
Petroll: hrozne veľa kódu a nie je to vôbec prehľadné. V C# sa to dá klasicky imperatívne napísať napríklad takto:
Tak som sa nezdržal a dal som ti tam pár komentárov. Samozrejme myslených v dobrom
Code Kata: staňte sa lepším programátorom
Posted: Wed Aug 08, 2012 23:28
by Paulos
Moje řešení:
http://pastebin.com/j7a3S9rW" onclick="window.open(this.href);return false;
Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 0:12
by Petrroll
Yep, do příští Katy se poučím. Díky.
V rámci cvičení jsem se rozhodl na základě rad přepsat i aktuální Katu (abych nebyl až zas za takové nemehlo

).
Ono rozdělení do dvou metod a první vytahování relevantních dat tam být nemusí a může ušetřit jeden průchod. Nicméně v reálné aplikaci, by se s daty zřejmě provádělo více věcí a tak takového oddělení IMHO ničemu nevadí.

Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 7:16
by Igor Kulman
V rámci cvičení jsem se rozhodl na základě rad přepsat i aktuální Katu (abych nebyl až zas za takové nemehlo ).
Staré riešenie si nemal mazať, bolo by vidno tvoj pokrok
F#

Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 9:51
by rybar73
Tak taky jsme si vyzkousel tuhle "vyuku" a je to docela fajn tak uvidime co bude dal

Jinak to mam v podstate stejne jak zde psal Igor v C# takze to ani zde nebudu davat znova...teda az na to ze Igorovi to hazi spatny vysledek(C# i F#) ale to je asi jen drobnost z prehlednuteho zadani

Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 10:11
by Martin Suchan
Moje reseni - jeden radek nactu string, na dalsich asi osmi radcich mam jeden velky Linq, ktery vrati vysledek

Slo by to rozdelit na vice operaci, validovat, komentovat, ale to urcite vime
http://pastebin.com/9mCGJSGv" onclick="window.open(this.href);return false;
jeste pridam komentar:
Split - rozdelit na stringy po radku
Where - vyfiltruji jen radky, ktere jsou dlouhe aspon 5 znaku a obsahuji cislo tymu na spravne pozici
Select - pro kazdy radek vytvor anonymni typ obsahujici jmeno, F a A hodnotu podle poradi v zadani, ktere je natvrdo zadane
Setrid podle nejmensiho rozdilu - hezka ukazka pouziti OrderBy a Math.Abs

First - vrat vysledek s nejmensim rozdilem, a to je vse

Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 10:15
by Matajon
Tak já se taky přidám se svým F# pokusem.

Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 10:20
by Martin Suchan
Pouziti RegExu na nalezeni hodnot, zajimave netrivialni reseni

Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 10:24
by Igor Kulman
rybar73 wrote:Tak taky jsme si vyzkousel tuhle "vyuku" a je to docela fajn tak uvidime co bude dal
Ďalej bude ďalšia Kata, dnes alebo zajtra ju vyberiem a zverením. S tou chybou máš pravdu, nepozorne čítam zadanie
Matajon wrote:Tak já se taky přidám se svým F# pokusem.
Som rád, že som niekoho motivoval k vyskúšaniu F#. Ten RegExp je zaujímavý nápad.
Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 11:47
by Petrroll
//Staré řešení tam pořád je hezky vyděné jako odkaz. Jen jsem nechtěl (bylo delší) aby zabíralo tolik místa (bylo opravdu delší).
Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 22:31
by Igor Kulman
Na ďalší týždeň trochu jednoduchej matematiky. Okrem kódu zverejňujte aj číselný výsledok. Termín: štvrtok 16.8.2012.
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.
Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 22:51
by Martin Suchan
Snad jsem to spravne pochopil, ze
cilem je napsat program, ktery vrati soucet lichych cisel z Fibonacciho posloupnosti, ktere jsou mensi nez 4 miliony.
Mozna by stalo za to zkusit i pokrocilejsi variantu - soucet vsech lichych cisel z Fibonacciho posloupnosti, ktere maji mene nez 4 miliony cifer

Code Kata: staňte sa lepším programátorom
Posted: Thu Aug 09, 2012 23:44
by matoman
nepojde to nejako analyticky vyjadrit?

Code Kata: staňte sa lepším programátorom
Posted: Fri Aug 10, 2012 6:52
by Tomáš Slavíček
Tahle poslední, to je taková vysloveně "úloha z reálného života" :D Ale s F# si tam asi užijete...
Code Kata: staňte sa lepším programátorom
Posted: Fri Aug 10, 2012 8:05
by Igor Kulman
Tomáš Slavíček wrote:Tahle poslední, to je taková vysloveně "úloha z reálného života" :D Ale s F# si tam asi užijete...
v F# sa to napíše práveže jednoduchšie ako v C#