Chcete sa zlepšiť v OOP? Chcete sa zlepšiť v Jave ako takej? V StreetOfCode sme si vymysleli OOP Výzvy.
Čo to je?
V skratke ide o to, že vymyslím novú výzvu – challenge, kde človek na základe popisu výzvy (zadania) implementuje projekt v Jave. Cieľom je si precvičiť písanie pekného, čistého a čitateľného kódu s objektovo-orientovanými (OOP) princípmi. Najdôležitejšia je ale jednoduchosť a čitateľnosť kódu.
Vysvetlenie vo videu:
Príklad výzvy
Všetky výzvy sú na našom repozitári. Každá výzva má vlastnú branchu.
Prvá výzva je naprogramovať aplikáciu Quiz, čo je v podstate command-line aplikácia. Používateľovi položíte quizové otázky, ktoré môžu mať jednu alebo viacero odpovedí. Na základe odpovede používateľa mu udeľujete body.
Výzvy píšem po anglicky, aby si ich mohli vygoogliť programátori z celého sveta.
Review/komentovanie výzvy
Pre každú výzvu si vyberiem dobrovoľníka, ktorému jeho riešenie skomentujem vo videu. Vypichnem všetko, čo nebude jednoduché, clean, alebo neprehľadné.
Následne v druhej časti videa ukážem svoje riešenia, kde som sa výzvu snažil čo najlepšie naprogramovať ako viem.
Video prvej výzvy
Ako vznikol tento nápad
Po videách, kde programujem Kalkulačku v Jave pomocou OOP princípov, sa mi ozval Michal J., ktorému sa videá zapáčili a chcel sa ďalej zlepšovať, tak sa ma pýtal niekoľko otázok a prosil ma, či sa mu pozriem na kód.
Rozmýslal som, ako by som mohol pomôcť Michalovi, ale zároveň aj všetkým ostatným ako je on. Vtedy mi napadli OOP výzvy, v ktorých by som komentoval riešenia začínajúcich (ale pokojne aj pokročilých) programátorov a vysvetľoval, čo je zlé a čo je dobré. V prvom videu bol dobrovoľníkom práve Michal J.
Chceš byť ďalší, komu budem ďalšiu výzvu komentovať?
Ak chceš, aby som práve Tebe komentoval riešenia druhej výzvy (ktorý ešte neexistuje), tak mi napíš na moc.e1725755859docfo1725755859teert1725755859s@buk1725755859aj1725755859, alebo si ma nájdi na FB.
www.streetofcode.com
https://www.facebook.com/streetofcode/
https://twitter.com/StreetofCode1
https://www.youtube.com/channel/UCzt3kHgfLwGGPcTk6jP1_Cg?view_as=subscriber