To, co jsem napsal, je NORMÁLNÍ způsob programování. Opsat odněkud cosi, co hned při prvním čtení obsahuje spoustu zbytečností, to je čirým zoufalstvím, ať se to komu líbí či nelíbí. Jiná věc ovšem je, KDY je toto zoufalství omluvitelné a kdy není.
Úplní začátečníci:
1. Používají proměnné pro věci, které potřebují jen jednou, viz mnou kritizovanou proceduru.
2. Nepoužívají proměnné tam, kde jsou zapotřebí, a nechají Basic opakovaně kalkulovat tatáž monstra, např.
ActiveWorkbook.Sheets("Jméno dlouhé jako Lovosice").Range("A1") = 7
ActiveWorkbook.Sheets("Jméno dlouhé jako Lovosice").Range("A2") = 5
Nenapíší ani
With ActiveWorkbook.Sheets("Jméno dlouhé jako Lovosice")
.Range("A1") = 7
.Range("A2") = 5
End With
ani
Dim s As Sheet
Set s = ActiveWorkbook.Sheets("Jméno dlouhé jako Lovosice")
s.Range("A1") = 7
s.Range("A2") = 5
ani je nenapadne využít kódové jméno listu, změnit je na cosi mnemotechnického, třeba Lovosice, a napsat
Lovosice.Range("A1") = 7
Lovosice.Range("A2") = 5
Samozřejmě normální způsob programování je ony buňky pojmenovat, třeba Franta a Jarda a napsat
Range("Franta") = 7
Range("Jarda") = 5
nebo
[Franta] = 7
[Jarda] = 5
kdy navíc při případné změně v listu (vsunutí sloupce či řádku před první sloupec či řádek) není nutné program měnit a přepisovat ona "A1", "A2".
3. Používají proměnné typu Variant i tam, kde stačí typ Text, například
Dim s$
s = Range(...).Value
místo správného
Dim s$
s = Range(...).Text
S proměnnými typu Text pracují zase tam, kde stačí pracovat s indexy nebo s objekty, tj. použijí
ActiveWorkbook.Sheets("Jméno dlouhé jako Lovosice")
kdy chudák Basic musí procházet kolekci Sheets a porovnáváním dlouhých textů hledat ten správný, místo
ActiveWorkbook.Sheets(5)
kdy Basic musí z kolekce Sheets "jen" vybrat ten pátý. Přitom nejjednodušší a nejrychlejší (a proto normální) je přímý (!) přístup přes název objektu:
Lovosice
Úplný začátečník má na uvedené neumělosti a zbytečnosti právo. Když někdo jeho kód zjednoduší do normálního způsobu programování, je rád, že se může něco přiučit a postupně přestat být pouhým začátečníkem.
Jen ti, co se zpupně odmítají něco naučit, zůstávají doživotními nejzačátečnějšími začátečníky, i když se třeba svým pseudoprogramováním živí nebo ho nekriticky cpou na web (což je psychiatricky zajímavé), takže je tam vygůglíte. Ti se smrtelně urazí, když jim někdo předvede významné zjednodušení, a onu zjednodušující radu prohlásí třeba za "drzost"; i to je psychiatricky zajímavé, zvlášť když někteří ani neumějí česky a przní češtinu anglickými termíny, jako třeba "cool".
Howgh.
citovat