Portál AbcLinuxu, 4. května 2025 09:20
Následující zápis obsahuje pouze nezajímavé stesky programátora amatéra, jež snad nikdy nebude schopen napsat srozumitelný a úhledný kód.
Před časem jsem se zde zmiňoval o svém skriptu na hledání dopravních spojení přes IDOS v prostředí CLI. Zmínil jsem také svůj záměr kód pročistit a zpřehlednit. Motivací bylo, že srozumitelnější kód třeba příláká nějaké pomocníky (testery), že mi někdo zkušenější poradí a já se něco naučím, že třeba bude mít někdo zájem použít můj skript ve své aplikaci - tak proč mu házet klacky pod nohy příšerně psaným kódem, atd.
Měsíce plynuly, já skriptu nevěnoval až tolik pozornosti, nicméně přesto jsem v něm provedl menší řádku úprav. Chvíli jsem si i myslel, že se dílo daří, ale poté přišlo vystřízlivění. Kamarád mi půjčil knihu od R. Pecinovského Návrhové vzory a já se do ní začetl. Ještě nejsem u konce, nicmnéně již nyní na mě má kniha dva znatelné dopady. Zaprvé se má averze vůči Javě snížila a zadruhé mi kniha otevřela oči a já zřel svůj prasečí kód v celé jeho nahotě. Poslední dva dny jsou ve znamení rapidních změn. Některé části skriptu se mi již vytratily z paměti a nyní mi jejich opětovné čtení vyvolává vrásky na čele. Kolik toho ještě budu muset přepsat, abych byl s kódem (konečně) aspoň trochu spokojen? Napadá mě množství změn, jež je záhodno provést, ale zárovněň mě ta představa děsí. A když je nákrasně udělám, přepíšu to ještě jednou, pak ještě dvakrát,... zastaví se to někdy?
No, zbývá mi jen naděje, že se to opravdu časem zlepší. Bohužel programování není mým denním chlebem, takže ty krůčky budou zřejmě velmi, velmi malé a pomalé. Doporučíte mi nějakou zajímavou literaturu, která mi pomůže v růstu? Louskám teď toho Pecinovského, taky jsem před časem přečetl celkem zajímavé Dive into Python.
Mimochodem, pokud někdo používá i související Java aplikaci do mobilu, tak se ozvěte v diskuzi. Za tu dobu se také pohla krapet kupředu a obsahuje pár (a to doslova) užitečných vylepšení, škoda setrvávat na starší verzi. V případě zájmu ji někam nahraji.
Tiskni
Sdílej:
Sice ti asi uplne nerozumim, nicmene nemyslim, ze by to bylo co k cemu. Ohledne toho skriptu jsem napsal v minulosti par zapisu do blogu a ackoliv se za tu dobu krapet zmenil, ty informace (jeste lepe se spojenim s info na domovske strance projektu) jsou vice mene stale aktualni, takze bych se jen opakoval.
Muzes to nejak rozvest? Ja si o tom skriptu nedelam iluze, ale zajimalo by me, jak totez napises na 5 az 10 radku (jiste, nadsazka, ale podle me je to rozhodne na stovky radku, ne desitky). Co by tedy bylo tim spravnym nastrojem? Mimochodem, kdysi pred lety jsem si taky napsal prvni verzi v bashi, ale u proof of concept to i zustalo.
./spojenie2.sh bechyne tabor 24.12. 5:59 24.12. 6:10Zdrojak ma 8 riadkov (GPL version 3 or later):
#!/bin/bash >index2.html START=$1 CIEL=$2 DATUM=`date +%d.%m.%Y` CAS=`date +%H%%3a%M` wget -q --user-agent="Mozilla Firefox" -O index2.html "http://jizdnirady.idnes.cz/vlakyautobusy/spojeni/?f=$START&t=$CIEL&date=$DATUM+%c3%9at&time=$CAS&direct=False&byarr=False&submit=True&af=False" cat index2.html | grep 'date red' | sed 's/</\n/g' | grep -e 'date red' -e right | sed 's/>/>\n/' | grep -v '>$'
Aha. No, to je sice krasny, ale tohle jsem schopnej napsat taky (ostatne uz jsem to i kdysi udelal), nicmene co si tyce funkci, tak ten tvuj a ten muj skript jsou uplne nekde jinde. Na tech stovkach radku si trvam. Myslel jsem, ze uvedes nejaky ten "vhodny" nastroj, ale uz vidim, jak bastlis neco ekvivalentniho v bashi. Ale stejne diky, nerad jsem plytval tvym drahocenym casem.
Knizka "Dokonaly kod" (Code complete) se pekne cte.
A pak po čase přijde další stádium, a to když budeš programování, algoritmizaci, analýzu a další dokonale ovládat a mít jí stokrát vyzkoušenou - pak přijde stádium, kdy se naučíš pravidla porušovat, a to tak, že z toho vznikne kód, který je efektivnější, čitelnější, srozumitelnější a spolehlivější - a přesto odporuje zavedeným pravidlům. To je nejvyšší stádium v každém oboru, který lze dosáhnout.
P.S.: Proto nemám rád jazyky, které mě nutí k pravidlům, a tím k neefektivní práci - tedy nemám rád Javu.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.