Diskuze: Soutěž v programování - krajské kolo

Tvůrce

Zobrazeno 50 zpráv z 55.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Nevím no, na postup to asi nebude :/ úlohy nebyly zas tak moc těžké, ale
bylo docela málo času. Dost mě překvapily nějaké hodnotící kritéria.
Např "Jde aplikace spustit", nebo "Jsou v aplikaci komentáře". Kdybych to
věděl, tak jsem ve třetí úloze, kterou jsem nestíhal vytvořím prázdné
okno, napíšu komentář a hned mám 2 body k dobru
to jsem udělal loni a fakt mi 2 body dali, jenom za okomentovaný main a
picker na výběr souboru.
Já jsme byl na něčem takovém poprvé, takže jsem vůbec nevěděl co se
hodnotí u úkolu č.1 jsem
byl už na dně, tak jsem na pomalé vykreslení naházel do formuláře 20
timerů a každý vykresloval jinou čáru - myslel jsem, že mě za to zabijou,
ale na kód se nikdo nekoukal -_- ....
Dávať body za komentáre a prázdne okno, ako vyzerá kód nikoho nezaujíma, to ako vážne? kam tento svet speje...
na soutěži se ten kód moc nehodnotí (ačkoliv to tvrdí). Buď sami hodnotitelé neumí psát kód hezky nebo prostě respektují, že v záchvatu časového limitu prostě někdy volíš cestu prasárny abys ušetřil pár drahocenných minut.
Dávat body za komentáře je fakt blbost, protože dobrej kód komentáře prakticky nepotřebuje.
To tu nikomu nevysvetlíš, že komentáre v kóde v 99% prípadov nemajú čo robiť, ale to je už trochu iná téma, na takýchto súťažiach nejde o to vedieť programovať, ale o to ako rýchlo vieš vyriešiť danú úlohu a akým spôsobom to spravíš je úplne ukradnuté, čo je podľa mňa celé zle.
To, ale podle mě moc reálně neodráží schopnosti. To to není tak, že by dali klidně jen jeden úkol a čas na něj abych si s ním mohl vyhrát. A ne - "Prostě nějak to splácám a valím na další úkol".
jenže na soutěži ti nedají úlohu, kde bys na první pohled věděl co kód dělá, proto se tam na 80% komentář hodí.
kdy by sis přečet zadání, tak se tam hned na první píše, že úlohy nemusíš řešit všechny. Spravdila vyřešíš tak 3/4 úloh. V celostátním kole je pak jedna jediná úloha.
Také souhlasím s Martin Konečný (pavelco1998) ,že kód prakticky komentáře nepotřebuje. Pokud totiž píšeš krátké metody, tak jejich název je dostatečně výstižný a komentář nepotřebují.
Kde nájdem zadania prípade v akých jazykoch tieto súťaže prebiehajú ? Celkom ma to zaujalo... A ku tým komentárom tak s vami nesúhlasim. Bodovať to blbosť síce naozaj je ale tie komentáre v kóde maju svoje miesto.
To ano, ale je mnohem výhodnější zbastlit většinu úloh než udělat jednu pořádně a s hezkým kódem.
jenomže to by pak každý měl plný počet bodů.
http://sp.stv.cz/ pak se tu někdy objeví i zadání z letoška. Zatím si můžeš prohlídnout minulé ročníky.
Myslíš, že by všichni napsali stejně hezký kód?
naučit se napsat hezký kód zvládne každý blbec.
(9/10)*koeficient bodů je o algoritmu a jeho implementaci.
To rozhodne nezvládne každý... to je ten rozdiel medzi tými, čo ich to skutočne baví a tými čo sú iba dobrí, ale byť dobrý nestačí a na tvojom mieste by som sa v tomto smere posunul ďalej. Skúšal si niekedy TDD? (test-first) to je úplne iný spôsob rozmýšlania a programovania a je to skvelé, alebo programovanie v dvojici je tiež skúsenosť nanezpalatenie. Treba si rozšíriť obzory, netreba každý názor hneď automaticky odmietnuť.
ale já ten názor neodmítám, jenže tu tvrdíte, že komentáře jsou zbytečné a řeší to dobrý kód.
Tak se na to podívejme jinak vývojáři Androidu jistojistě píší velmi kvalitní kód, proč tedy píší komentáře, když u dobrého kódu se (podle vás) psát nemusí?
Na této soutěži je to úplně stejné. Prostě ať píšeš sebelepší kód, komentář tam aspoň u hodně na první pohled nepochopitelných částí být musí.
Mě se to třeba IMHO moc nepovedlo...
Dělám úplně jinou část webů, než zvolily jako úkoly, které jsou, přiznejme si, poměrně naprd zvolené.
Úkoly by měly být IMHO voleny tak, aby je každý dokázal zpracovat a
rozhodovalo se spíše o kvalitě, než-li dát nějaké těžké zadání, kde
rozhodne jestli to zpracuješ.
Líbí se mi úlohy, které jsou asi běžné na okresu - alespoň u nás -
udělej web na dané téma a dají ti tam ještě pár bodů, co by to mělo
obsahovat... Tady se nádherně ukážou schopnosti a každý může
nasměřovat na svou kapacitů vědomostí a znalostí. Což by mělo být
tématem soutěže - dát příležitost ukázat se, a né určit cíl, kdežto
většina lidí může mít jinou cílovku.
Já jsem třeba práci s časem nikdy snad nedělal (měl jsem weby), takže jsem tam zdlouhavě hledal syntaxi, která mi nakonec ani moc nefungovala a mám tam takové polo generování, ale styly bych měl mít všechny...
Ale co, čekal jsem, že to bude zase nějaké chytře vymyšlené zadání -
třeba nějakým zázrakem získám body, uvidíme no.
Já píšu komentáře i v CSSku, pravda sice, že dělám složitější
strukuturu - OOCSS s BEM, komponenty rozdělené v Sass partials a ták, ale i
zde dost pomáhá, když alespoň trochu víš, co daný objekt/funkce/mixin
dělá.
Takže jsem PRO komentáře.
Oni v tom zadání chtěli zjistit jak moc umíme/neumíme vytvořit webovou RIA. K tomu vývoj těch standardů vedl. Hodnotit webdesign si nikdo moc netroufne, protože je to subjektivní a sporné. Mě se zadání ve webu líbilo.
Neprehľadný a nezrozumiteľný kód sa má prepísať, nie komentovať, je
to dobrá rada, môžeš si o tom načítať aj viac ak chceš, toto som si ja
nevymyslel Čo sa týka
Androidu, tak ich zdrojové kódy sú proste chaos a tak aj ten systém vyzerá
a aj tak funguje, nevravím, že vývojári Androidu sú zlí programátori, ale
proste to píše strašne veľa rôznych ľudí a vzniká z toho chaos a
neporiadok. Schválne, vieš si predstaviť niečo zmeniť v zdrojovom kóde
androidu? Popravde v tej 10 000 riadkovej triede, ktorú som videl z ich
zdrojákov asi ťažko.
na přepisování většího projektu nemá nikdo ani čas ani prostředky. Asi si nepsal žádný větší projekt.
Neaktivní uživatel Má pravdu. Pokud píšeš smysluplné názvy tříd, a metod, které jsou krátké a dělají pouze jednu věc, tak k čemu bys potřeboval komentář, když by danou funknčnost měl vystihovat název. Pokud poté takovu třídu s metodou a používáš, je ti jasné co dělá, aniž bys musel nahlížet do komentáře.
Třídy, které mají 1000 řádků, nebo metody, které jich mají třeba 300 určitě nedělají pouze jednu věc a dají se dekomponovat do více metod či tříd.
To, že na to někdo nemá čas je přece věc druhá.
na soutěži máš na to 4 hodiny. Buď budeš refaktorovat nebo napíšeš 3 (výstižné) slova do komentáře.
Bylo to sakra těžké, no mám 2 úlohy ze 4 + jednu napůl (kategorie
programování).
A ano v té prázdné mám super komentáře jak bych to udělal
Mám prase, euklidův algoritmus a graf (akorát, že ten se zobrazuje
poněkud nepřesně)
Já pracuji hlavně v GML, C# je u mě spíše bokový jazyk, který se učím
kvůli budoucímu zaměstnání, tak bych si nějaké velké naděje nedělal +
jsem v prváku.
Ps: jak si řešil ten graf?? Já se spolehl na ZGraph
Ale táto požiadavka od klientov prichádza veľmi často, že je potrebné
niečo zmeniť alebo pridať funkcionalitu, rozšíriť projekt... a to je potom
tá "úprimná" nenávisť, keď začneš čítať niekoho kód plný
komentárov a chaosu a nakoniec zistíš, že skôr napíšeš nový, ako by si
to mal refaktorovať. Na jednom predmete sme mali skvelý príklad, mali sme
spraviť jednoduchú rímsku kalkulačku v C++. Tak to nebolo také zložité
samozrejme, o týždeň neskôr nám profesor zadal ďalšiu úlohu
"rozšírenú rámsku kalkulačku" (obsahovala operátory navyše a nejaké
vymyslené rímske čísla do tuším jednej miliardy a aj záporné čísla,
pričom kód nesmel byť dlhší ako kód pôvodnej kalkulačky) no a tam sa
ukázalo, že aké je to hrozne náročné rozšíriť neprehľadný, narýchlo
napísaný kód a tým nam aj ukázal prečo je dobré naučiť sa písať
čistý kód
Na súťažiach tohto typu je to samozrejme nepodstatné všetko... s tým súhlasím
Dávat body za komentáře je v pořádku. Pokud člověk ví jak na věc (jako např. já na domino), ale jednoduše to nestihl měl by za popis řešení ten bodík dostat.
graf jsem si vykreslil svůj. Jen u něj doufám, že jsem to dobře pochopil, ze začátku jsem byl zmatený z těch jejich průměrů, maxim, minim, atd.
Hm... zadání obecně stojí za prd. Po třetí se dívím obřímu rozdílu
okres/kraj, na okrese 100% easy peasy a tady... no minule jsem byl druhý (na
kraji), tak letos uvidíme.
my jsem zase měli ve školním kole zadání několikrát těžší než v kraji. V okrese to byli poukázky do knihkupectví zadarmo a v kraji je to již zajímavé (až na výjimky nikoli těžké) a v celostátním kole je to celkem těžké. Okresy si dělají svoje vlastní zadání, takže tam jsou rozdíly. Když jsem dělal okres na ZŠ bylo to s kraji srovnatelné, teď na SŠ to dělám v jiném okrese a je to jak pro malé děti.
Zadání z okresu: udělejte GUI aplikaci, testující málou, velkou
násobilku z volitelných intervalů + generaci náhodných čísel..... tak sem
to vystřihl v GM
zadání z okresu: udělej kalkulačku. Body se udělují za
1.) funkce sčítání (1b)
2.) funkce odčítání (1b)
3.) funkce násobení (1b)
4.) funkce dělení (1b)
5.) závorky (2b)
naštěstí tam byli i jiné příklady.
Tak to bývá no.... i tak to tam asi 5 lidí vůbec nezvládlo... pak výsledky
je to vtipné..... nebo vlastně ne, není.
Ano komentářej sou zbytečné, pokud děláte samy.
Ve firmách jsou komentáře nutností a mají na to i X stránkové normy. Také se komentáře uplatňují vždy, pokud děláš nějaké knihovny pro použití jinými lidmi apod.
Takže suma sumárum, komentáře jsou dalším dobrým zvykem a měli by být vždy ( ikdyž kód vidí jen 1 člověk)
hodí se i když děláš sám, protože když se vrátíš ke kódu cos psal před rokem....
No počkejte si, až budete na Vysoké škole, tam ty programovací soutěže
jsou úplně o něčem jiném. viz http://icpc.baylor.edu/ tam jde jen o to, vyřešit
zadání, žádné komentáře, žádné jak jsi to řešil, čistě to je o
tom, kdo dřív vyřeší vyhrál
Komentáře bych psal už jen kvůli následnénu IntelliSense, které z toho bere popisy pro parametry. A když máš složitější algoritmus a nejde rozdělit do více metod? Rozhodně je lepší jej okomentovat, nebo alespoň před něj napsat workflow. Takže jsem taky pro komentáře.
Jinak 16,5 bodu nic moc, ale
je pravda, že jsem už dlouho nic nedělal...
V našem věku se jen výjimečně vrátíš ke kódu co si psal před
rokem....
Jdeš na to moc rychle vpřed.
já se ke svému kódu teda vracím...
Eh, tak já teda jen opravdu málokdy.
Samozřejmě záleží na hodně faktorech, jako je třeba již zmíněný
čas, počet lidí, kteří na tom pracují atd. Já píšu phpdoc komentáře a
čas od času i nějaký interní (např. abych věděl, proč jsem místo ===
použil jen == apod.). Taky chápu, že pokud je na to jen málo času (4
hodiny?), tak je lepší to nějak naplácat a napsat pár komentářů. V tom
je ale na druhou stranu taky trochu nevýhoda - vítěz je tedy ten, kdo
dokáže napsat v podstatě nejrychleji (soudím jen podle komentářů, na
zadání jsem se nedíval (ani nevím, kde je)).
Takto mi to spíš připadá trochu jako souboj frameworků od pana Knesla, kde
vyhrálo čisté PHP, protože se splnily (lépe řečeno pan Vrána je splnil)
všechny úkoly v určitém čase:
http://www.knesl.com/…j-frameworku
http://php.vrana.cz/…ramework.php
Tím neodsuzuji nějaké soutěže apod., jen prostě záleží, jestli jde o logické myšlení, nebo o dovednosti v programováním jako takovém (kde záleží i na dobře navržených objektech atd.).
Edit:
Je pravda, že jsem nedělal nikdy v nějakém větším týmu. Pokud se kód
píše objektově, pak si nemyslím, že je nutné psát hodně in-komentářů,
ale spíše phpdoc + popis, co daná třída/metoda dělá.
U složitějších metod, jako je třeba takto, je to v poho:
http://api.nette.org/…ute.php.html#141
Ale viděl jsem i nějaké scripty, kde bylo úplně zřejmé, co kód
dělá, a stejně u toho byl komentář.
Něco ve smyslu
// konstruktor
function __construct()
{
...
}
účastnil ses?
Btw, jen pro vysoké to není. V Polsku tam soutěžili borci co zrovna
nastoupili na střední a všichni by skončili v TOP 10 Tam už jsou ale dost úlohy na
které bys možná ani nikdy nepřišel, i kdybys do toho čuměl den v kuse
Zobrazeno 50 zpráv z 55.