Wedos

čtvrtek 23. února 2012

Desatero dobrého programu

Dlouho jsem uvažoval sepsat něco jako programátorské desatero nebo něco. Vycházející primárně z konfliktu Programátor/designer/analytik Vs. Uživatel/účetní/uklízečka.

Důležité je podotknout, že programátor a programování nemá nic společného s černou magií jak si často uživatel myslí. Stále častěji se setkávám s faktem, že programátor ani nezná základní principy fungování počítačů. Natož třeba binární soustavu.

Nepochopení z obou stran je pak v důsledku tragédií.

Programátor je stejně jako další tvořivý lidé, někdo dělající z ničeho něco. To nic je různě hmotné. U programování málo, stejně jako u skládání hudby nebo třeba psaní knih. Naopak například řezbář nebo zámečník to mají často mnohem hmotnější. Každopádně není mezi nimi v rámci tvorby velký rozdíl. Výsledkem snažení je obyčejně něco zcela jiného než bylo na začátku.

Tenhle úvod jsem si nemohl odpustit. To hlavně proto, aby některým "programátorům" prdla žilka v hlavě už teď a ne až na konci.

1. Jednoduchost
Vždy se snažit dělat věci jednoduché. Co je jednoduché je většinou i nejfunkčnější. Příkladem budiž smeták. Smeták který bude mít chlupatý konec dvakrát bude na nic. Pokud bude mít uprostřed duralové madlo, taky se to zrovna nebude zdát lepší.

2. Přehlednost
Přehlednost jde ruku v ruce s jednoduchostí. Často se dozvídám, že nějaký model je lepší než jiný protože je přehledný. Blbost! Něco je přehledné protože to tak uděláte ne proto jak to uděláte.
Hromada kamení bude nepřehledná hromada ať použijete bagr nebo ruce.

3. Rychlost
Nesnažte se dělat víc než je třeba. Pokud má vaše aplikace sčítat. Nesnažte se jí učit mocniny. Sčítání to neurychlí. Aplikace se zpomalí.

4. Nemyslete za uživatel
Nejčastější pakárnou je, když aplikace ví lépe než vy co jste chtěli udělat. Prostě kliknu a udělá to to co avizuje. Nic nezmodrá, nic nezežloutne. Prostě se to chová předvidatelně. A nemyslí to za mě.
Windows si už roky myslí, že jsem nesvéprávný idiot. Když přede mnou skrývají, volby které potřebuji. Výsledkem je frustrace a naštvanost.

5. Ptejte se uživatelů
Ptejte se jich. Oni nejlíp vědí jak co vyhovuje. Analytik si to může myslet. Uživatel to ví!

6. Nebuďte líní předvídat lidskou vynalézavost
Lidé často dojdou k funkci nebo funkcionalitě jinou cestou než vy. Naučte se s tím počítat. Buď zataraste cestu tak aby to nešlo a nebo tedy počítejte s jiným postupem než je ten váš.

7. Chybovat je lidské
Kdo nedělá chyby není člověk a není ani Bůh. Protože ten chyby zjevně dělá taky (jestli mi nevěříte tak mi vysvětlete kde se vzalo tolik církví). Přiznat si chybu je správný krok. Přiznat jí a opravit jsou dva. Na fotce vypadají dobře liché počty v realitě se věci lépe tvoří v párech. Takže hezky udělat kroky dva.

8. Nemyslete si, že jste chytřejší než uživatel
Nejste. Rozhodně ne chytřejší než všichni. To, že se Vám zdá uživatel jako blbec je proto, že vy jste to udělali složité.

9. Učit se! Učit se! Učit se!
Vždycky je co a vždycky je kdy.

10. Pravidlo tří úspěchů
Funguje to! Děláto co jsem chtěl! Děláto co chtěl uživatel! Pokud ne, čtěte znovu!