jAbLoK

Vlastnosti dobrého programátora

Zasláno do Uncategorized by Pavel Kolesnikov na Duben 10th, 2008

Před časem jsem odkazoval na desatero jak správně programovat. Teď jsem narazil na další z podobného ranku: 10 vlastností dobrého programátora.

  1. Programuje rád
  2. Dotahuje věci do konce
  3. Kód průběžně refaktoruje (doplňuju: aniž by se dostal do konfliktu s bodem #2)
  4. Používá návrhové vzory (čti: nevymýšlí kolo)
  5. Píše testy
  6. Využívá existujícího kódu (opět čti: nevymýšlí kolo)
  7. Stará se o použitelnosti svých výstupů (tedy ví, že praktický vývoj software není zkouška z implementance algoritmu)
  8. Píše čitelně (i s ohledem na budoucí kolegy, kteří nemusí dosahovat jeho geniality)
  9. Je schopen psát v jakémkoli jazyku
  10. Má nějaké teoretické základy
Tagged with: ,

4 Responses to 'Vlastnosti dobrého programátora'

Subscribe to comments with RSS or Zpětný odkaz to 'Vlastnosti dobrého programátora'.

  1. Miloslav Ponkrác said, on Duben 10th, 2008 at 5:21 pm

    Ad 1) To je někdy dost na škodu.

    Ad 3) Ne každý projekt nutně potřebuje refaktoring.

    Ad 4) Souvisí pouze s jazyky umějící jen OOP paradigma - tudíž nemohou být obecnou vlastností programátora. - Tedy konflikt v bodem 9)

    Ad 9) Toho není schopen nikdo na světě.

  2. Pavel Kolesnikov said, on Duben 11th, 2008 at 6:51 dop.

    MP: Ad 1) Myslím, že bod 1 je na škodu pouze pokud zároveň není splněn bod 2

    Ad 9) jasně, nadsázka.

    K ostatním by se samozřejmě pro přesnost dalo dodat “when applicable”

  3. Pavel Sýkora said, on Duben 11th, 2008 at 7:22 dop.

    MP: ad 1) Chcete naznačit, že jsou případy, kdy je výhodné, že někdo programuje, ale programování se mu přitom protiví?

    ad 3) Každý projekt potřebuje refaktoring. Výjimkou jsou copy&paste projekty (např. stejná nebo téměř stejná webová apliakce pro jiného zákazníka), ale zde těžko hovořit o programování.

    ad 4) Návrhové vzory nejsou jenom GoF. Některé ze vzorů GoF kromě toho spíš řeší objektová omezení staticky typovaných jazyků typu C++, Java apod. (např “Factory” je zbytečný vjazycích, kde jakákoliv třídy je zároveň i objekt). Návrhový vzor může být v jakémkoliv jazyce - v SQL, řekl bych, se používaly dávno před GoF. A rozumný programátorský tým si nějaké vzory najde nebo vytvoří.

    ad 9) IMHO, tím je myšleno, že se programátor bude snažit pochopit programování, jazykové konstrukce a přístupy k programování (např. imperativní, funkcionální) do hloubky (pak třeba lehce přejde z C++ do Javy nebo z Javy do C#) a nikoliv, že se mechanicky naučí syntaxi. Kromě toho obvykle nedělá problém vlastní jazyk, protože příkazů je jen pár a až na menší či větší syntaktické odlišnosti je to furt na jedno brdo.

  4. Standa said, on Duben 11th, 2008 at 12:17 pm

    ad1) opravdu je nekdy na skodu kdyz programatora bavi programovat. On totiz pak nekdy vymysli porad dokola, dela to stale jen lepsi, proste si s tim kodem hraje a vlastne nechce aby ten projekt byl u konce, protoze mu tim vezmou jeho “dite”. Toto se da potlacit tim ze pracuje na nejakych open source projektech kde se proste realizuje, ale to pak zase hrozi ze se mu nebude chtit delat v praci :-)

    ad9) kazdy normalne dobry programator umi programovat v jakemkoliv jazyku. Programovani neni o jazycich, ale o mysleni a algoritmech. Novy jazyk se dokazu naucit za par tydnu, myslet se nekdo neni schopny naucit ani ze nekolik desetileti. (samozrejme predpokladam ze programator ma nejake zaklady z proceduralnich, funkcionalnich, OOp jazycich aby mel v novem jazyce jasne zakladni principy a jenom se naucil syntaxi a nejake nove ficury.

Leave a Reply