it-swarm-eu.dev

Kdy by někdo byl považován za špatného programátora?

Jak byste se domníval, že programátor je špatný v tom, co dělá?

Pokud je to možné ... Jak by se měl zlepšit?

57
Tamara Wijsman

Když se nedokážou poučit ze svých chyb a vzájemných hodnocení.

V určitém okamžiku jsme všichni zelení; pokud se ale nezlepšujete nebo se nepokoušíte se zlepšit, jste špatný programátor.

134
ist_lion

Programátor, který neví, co neví a vůbec nemá zájem to zjistit.

125
Graviton

Velkým varovným signálem je, že jsou programátoři „kultového nákladu“ - což znamená, že dělají věci, ale nevědí proč dělají tyto věci (je to jen "magie"). Skvělý příspěvek od Eric Lipperta zde .

Z článku:

programátoři, kteří rozumí tomu, co kód dělá, ale ne jak to dělá.
75
Marcel Lamothe

Velkým tipem pro mě je, když se vás nebo jiných vývojářů zeptají na otázky týkající se vývoje, které jasně ukazují, že vynaložili naprosto nulové úsilí, aby si to vymysleli sami.

Důsledkem je, když se několikrát zeptají na stejnou programovou otázku, což naznačuje, že tyto informace neinternalizují.

45
JohnFx

Když jim bude trvat dlouho, než vyřeší problém FizzBuzz.

21
EpsilonVector

Programátoři, kteří se odmítají učit nové technologie/jazyky a trvají na tom, co už vědí.


Dodatek: (doplnění toho, co v komentářích řekla pomlčka)

Rozšíření o to jsou lidé, kteří znají podmnožinu funkčnosti nějaké technologie, ale neprojevují žádnou touhu dozvědět se o ní více. Programovací jazyk, editor, další nástroje ...

21
missingfaktor

Pokud je členem týmu negativní vývojář .

|# Lines Written| - |# Lines of bugs introduced| - |# Lines of rework required| < 0

To znamená, že zbytek týmu musí kvůli špatnému vývojáři udělat více práce. NNPP

18
danivovich

Když produkují věci, které patří pravidelně The Daily WTF .

18
Billy ONeal

Když vědí, že existují lepší způsoby, jak věci dělat, stále je odmítají dělat, i když to čas dovolí.

15
JeffO

Osobně si myslím, že každý programátor, který se může podívat na svůj vlastní kód, který napsal před chvílí a nenajde s ním něco špatného, ​​není dobrý. "Chvíli" se může přizpůsobit zkušenostem ... řekl bych mezi několika týdny až rokem.

15
Daenyth

Ti, kteří ignorují varování na svých kódech a starají se pouze o chyby.

15
Reigel

Když jsem byl vedoucím týmu v maličkém obchodě, bylo několik lidí, kterým jsem musel být přidělen (ani já ani můj přímý nadřízený neměli schopnost ukončování bez tuny Červená páska a hromadu dokumentace.) nebo na konci stávající zakázky nebude mít žádné obnovení smlouvy. Některé z vyjmenovaných typů fungovaly také pro další vedoucí týmů a oni do značné míry zastávali stejný názor. Věci, které do mé knihy přidali lidi do kategorie „Bad Programmer“:

  1. V minulosti netrénovatelné nebo osifikované
    Pokud se zdá, že „programátor“ není schopen absorbovat nový systém, nový nástroj nebo cokoli, co je nasazeno, bez ohledu na to, jak probíhá školení/vzdělávání. Musí opakovat uvedené školení často.
    Když „programátor“ zná pouze technologii nebo paradigma kódování, které použil před 10 nebo 15 lety. Bylo to dost dobré, tak proč by se měli změnit?
  2. Cowboy kodér
    Osoba, která kóduje první, bez plánu. 'Programátor', který provádí netestované změny výrobního kódu a/nebo dat ", protože to musíme nyní opravit" a pak je překvapen, když selže "oprava".
    Cowboy také rozhodně není týmovým hráčem. Nepotřebuje žádný smradlavý tým.
  3. Větrná korouhvička
    Tento „programátor“ je zamilovaný do „technologie du jour “ “a vidí každý nový rámec, jazyk, metodiku nebo cokoli nového a horké jako
  4. „Velký mozek“
    Tento „programátor“ si je tak jistý svým talentem a schopnostmi, že se dělají věci, které příliš nedávají smysl projektu. např. Přepisování standardní knihovny „protože je pro náš systém neefektivní“ nebo zavádění nástrojů a technik, které nejsou vhodné pro daný problém. např. Představujeme LISP nebo Forth v prostředí mainframe.
  5. LOC a. Sandbagger
    Tento „programátor“ používá zmatek a nesprávné nasměrování ke zvýšení a. LOC: Řádky kódu , za které jsou zaplaceny. Viděl jsem kód v této situaci, která byla stránka za stránkou, obrazovka za obrazovkou s duplicitní strukturou a logikou, se změnou pouze názvů odstavců nebo řídících proměnných, aby se zvýšil počet řádků.
  6. Nepostradatelný odborník
    'Programátor', který má znalosti domény k vyřešení problémů po ruce, ale protože o tom „vědí“ všechno. Ve skutečnosti, pokud by je zasáhl autobus, celá organizace by se zhroutila. { Pozorování: - Ti, kteří si myslí, že jsou obvykle nezbytní, jsou. (Někdo dostal ten zdroj pro tento aforismus?)}
  7. Šéfkuchař těstovin
    Tento „programátor“ se specializuje na kód špagety, okořeněný identifikátory, které je příliš obtížné sledovat bez syntakticky implementovaného IDE. např. IndexI1O0, Index1I0O atd.
  8. Summer Intern - konkrétně podtyp Walking Disaster
    Můj starý obchod si najal řadu stážistů z pozdních středních nebo vysokých škol. Jednou oddělení potřebovalo malou databázi, aby sledovalo využití některých zařízení (nyní to byl návrat zpět a používal dBase III). Ten chlap kódoval celé léto, ale neučinil se, když vysoká škola začala na podzim. Dostal prodloužení o jeden týden, pak druhý týden. Na konci druhého týdne jsem byl vyslán, abych převzal svůj projekt a přivedl ho zpět do vývoje systémů, aby byl dokončen. Ukázal mi, co udělal, a pak nedokončenou část. Co fungovalo, mělo pěkné oční bonbóny, ale aplikace byl neúplný. Když jsem otevřel novou krabici naformátovaných disket, abych získal kopie, řekl: „jen vteřinu, dovolte mi smazat své testovací soubory ...“ a než jsem mohl cokoli říci, odstranil spoustu souborů.
    Protože byl podezřelý, a když jsem se vrátil do svého obchodu, zjistil, že jeho žádost nebyla téměř nic jiného než oční bonbóny, vrátil jsem se na oddělení a vytáhl Nortona a odstranil soubory, které smazal, a snažil se najít nějakou další logiku, i když neúplnou.
    Zjistil jsem, že to není špatná logika, ale špatné chování. Tiskárna připojená k počítači, který používal, byla tiskárna se sedmikráskovým kolem. Znaková sada normálně připojená byla švýcarská varianta. Na výstupu odstraněných programů je uvedeno jméno, adresa, DOB, některé písmenové kódy a nějaký typ id čísla. Formát a rozvržení mě znepokojovalo. Všechna data narození více lidí byla stěží legální věk pití. Většina adres tam nebyla, když jsem je vyhledal v našem criss-cross adresáři. Když jsem ukázal výtisky svému nadřízenému, podíval se na mě a řekl: „Řidičské průkazy, nemyslíš?“ Řekl jsem, že jsem to udělal. Řekl, že to je důvod, proč zjistil, že všechny zásoby průhlednosti jsou všechny rozřezané v koši vedle Xeroxu. Náš zlý chlapec udělal překryvy, aby upravil jeho a jeho přátele podle jejich řidičských průkazů. Ohlásili jsme to úřadům. Za poslední dva týdny mu bylo ne.

To jsou jen některé z těch špatných postav, se kterými jsem musel pracovat ...

/ s/BezantSoft

14
BezantSoft

Kromě zjevného nedostatku znalostí/schopností je programátor špatný, pokud je jeho kód těžší číst a/nebo udržovat, než by měl být.

10
Chinmay Kanchi

Nelze se přizpůsobit novým technologiím

10
Gopi

Když nikdo jiný nedokáže přečíst jeho kód. Nezáleží na tom, jak jste jasní; žádný programátor není ostrov.

10
stevenvh

Pro mě jsou programátoři dvě kategorie - sólo a tým.

Špatní sólo programátoři jsou

  • Ti, kteří si vzali ten jednoduchý úkol příliš dlouho.
  • Ti, kteří sami nemohou zkoumat, co dělají.
  • Ti, kteří zapomenou na to, co bylo dnes kódováno, během několika dní a nemohou si dobře udržovat svou vlastní kódovou základnu.
  • Ti, kteří se nemohou přizpůsobit požadavkům, se mění.

Špatní týmoví programátoři jsou ti, kteří spadají do kategorie špatných sólových programátorů, včetně

  • Ti, kteří se nemohou koordinovat s ostatními členy týmu.
  • Ti, kteří nevítají kritiku.
  • Ti, kteří nevědí, jak být užitečný pro ostatní a jak těžit z ostatních členů týmu.
  • Ti, kteří neumí psát čitelný kód.
  • Ti, kteří nekomentují ostatní kvůli čitelnosti.
7
tia

Někdo, kdo nevěnuje pozornost detailům a je vždy v režimu „funguje to, takže to nechám na pokoji. Všechny tyto výjimky v protokolech na tom nezáleží“.

7
talonx

Velkým varovným signálem v mé zkušenosti je, když se k jejich hackům nevyjádří ....

Víte, co tím myslím: když jste nuceni udělat něco velmi hackerského, protože prostě neexistuje lepší způsob, jak to udělat.

Dobrý programátoři budou nenávidět, když to budou muset udělat, a vložit vložené komentáře, které říkají, jak moc nenávidí uvedení tohoto druhu hacku, ale není na výběr. Špatní programátoři pouze vloží hack a nebudou je komentovat.

4
Bobby Tables

Není ochoten přiznat, že nezná odpověď a/nebo nechce věci hledat.

Pokud to nevíte, nevzdávejte se - přijďte na to a udělejte to.

4

Být repreategly ukázal vpravo způsob, jak to udělat, a opakovaně jen dělat to snadný způsob.

3
DaveDev

Klidně, když programátor zapíše hodně kódu. Velmi velké funkce, možná kopírování/vkládání řádků nebo kódových bloků, použití mnohem více možností, než je třeba, atd. To by mohlo být proto, že programátor nezná standardní funkci, která by dělala, co chce, ale většinu času to není.

3
user2528

Přesouvám sem svoji odpověď z uzavřeného duplikovaného tématu, které se ptalo Můžete poznat, že jste špatný programátor? Druhé téma bylo uzavřeno, když jsem skládal svou odpověď. Moje odpověď se více přímo zabývá otázkou, protože byla zformulována jiným žadatelem, a čte lépe, pokud tomu rozumíte.

Povzdech! Část mě nechtěla přidat k tomuto již zaneprázdněnému tématu, ale druhá část mě zvítězila! Proč to vyhrálo; proč se obtěžuji přidat ještě více slov k tomuto konkrétnímu mnohologu? No, protože do jisté míry to můžu mít trochu jinak, než mnoho předchozích komentátorů.

Binární práce skvěle fungují v počítačích: je to „1“ nebo „0“, „zapnuto“ nebo „vypnuto“. Pomocí těchto slavných dvou států můžeme abstraktní a kódovat spoustu informací. Ale nemá tendenci pracovat tak dobře pro lidské záležitosti: „dobrý“ nebo „špatný“, „zdravý“ nebo „šílený“, „dobrý“ nebo „zlý“, „chytrý“ nebo „hloupý“, „tlustý“ nebo „tenký“, „živý“ nebo „mrtvý?“ Tyto druhy polarizovaných hodnocení vždy zanechávaly pečující lidskou bytost ve mně strašně neuspokojenou. Bez ohledu na to, jaký způsob měření zvolím, obvykle zjistím, že odpovědi na takové ostré kontrasty skutečně leží někde podél kontinua mezi jedním takovým pólem a druhým, nikoliv na obou koncích.

S touto tendencí k polarizaci jsem bojoval již nějakou dobu a moje osobní řešení je, že je mnohem užitečnější aplikovat na každé takové hodnocení tři slova: „ do jaké míry! „

Moje odpověď na vaši otázku tedy je navrhnout, abyste ji přeformulovali a zeptali se sami sebe: „Do jaké míry jsem špatný programátor?“ Nebo ještě lépe, zeptat se na to jiným směrem: „Do jaké míry jsem dobrý programátor?“ Pokud usilujete o pravdu, pravděpodobně se ocitnete někde podél kontinua mezi „špatným“ programátorem a „dobrým“ programem. Poté, co se vám podaří lokalizovat přibližně tam, kde jste po této cestě, můžete pravděpodobně identifikovat bod poněkud blíže k „dobrému“ konci - bod, ve kterém byste se rádi v blízké budoucnosti ocitli.

Pokud tento bod nenastavíte příliš daleko, pravděpodobně zadáte zadní část převodového stupně a začnete jej pohybovat tímto směrem. Pokud se vám podaří iterovat tento poměrně jednoduchý heuristický algoritmus několikrát, možná se brzy ocitnete příliš zaneprázdněni programováním, abyste se na tuto otázku mohli znovu zeptat! Jo, a pravděpodobně budete rychleji postupovat, pokud začnete bušit kód na klávesnici tak rychle a často, jak můžete; a pokud si uděláte chvilku pauzu, přečtěte si kvalitní kód napsaný vašimi vrstevníky! V těchto dnech dynamického vývoje otevřeného zdroje nemáte dostatek volného a skvělého kódu, ze kterého se můžete poučit!

Proto vám důrazně doporučuji, abyste vyzkoušeli moje tři malá slova: „do jaké míry“ a uvidíte, jak daleko vás mohou dobrým směrem posunout!

3
John Tobler

Ti, kteří neznají principy jako SOLID, DRY, OOP atd.) Je důležité mít dobré znalosti programovacích principů a nadací, spíše než znát konkrétní technologie. Ti, kteří mají solidní základy, budou snadno se naučit nová témata a vytvoří lepší kód.

2
Giorgi

Jedna věc, která odlišuje špatného programátora od nováčkových programátorů, je tvrdohlavé naléhání na implementaci jejich oblíbeného systému v jakémkoli jazyce a API, ve kterém pracují.

Jednou jsem zdědil systém, kde předchozí vývojář re-implementoval (v Javě) velkou sadu Ashton Tate DBase III + api navrstvenou nad vlastní knihovnu přístupu dbf. Nebyl použit žádný z kolekce kolekcí Java).

Díky tomu mohl napsat aplikaci Java/swing, která vypadala a chovala se jako aplikace DBase III + (nebo možná clipper).

Aplikace, které napsal v tomto systému, obsahovaly nabídky lite-bar a při procházení lite-baru k možnosti by se otevřel celý formulář okna s řadou tlačítek ve spodní části. Bylo to jako malý stroj do 80. let.

Muž byl jasně zručný vývojář. Věděl natolik, že dokázal napsat celý tento systém sám v časovém rámci tohoto projektu. Také byl schopen jej znovu použít v několika dalších interních systémech.

Byl to však hrozný programátor v tom, že jeho kód zneužil funkce systémů, na kterých pracoval. Byl ochotnější strávit 3 měsíce na vlastní lib pochybné výhody, než se učit Java/Swing/SQL.

2
sal

Někdo, kdo říká: „To se nedá udělat“.

Podle mého názoru je to všechno o řešení problémů, nástroj by měl být mnohem méně relevantní, než ve skutečnosti dělat práci. Pokud to musím vyřešit pomocí jazyka MS-Access nebo Assembly, je to otázka času a peněz, ne otázka „To se nedá udělat“.

Varovným signálem je příliš mnoho zaměření na akademický a „správný“ způsob práce a nedostatečné zaměření na dokončení práce.

2
Dan Williams

Pokud zná pouze syntax jazyka, ale nezná základní pojmy algoritmů.

2
Chankey Pathak

Když dělají hodně pontifikátu, ale produkují jen velmi málo.

2
Gratzy

Vestavěný programátor, který nerozumí přerušení velmi dobře nebo multitasking. Také programátoři, kteří potřebují pracovat s bitovými poli, ale nechápou na nich logické operace a řazení.

2
tcrosley

Signál okamžitého rozpoznání je někdo, kdo říká: „Nerozumím, proč to nefunguje. Udělal jsem všechno dobře.“

2
Robert Rossney

! (chytrý a dělá věci)

2
Nick Pierpoint

Mnoho programátorů dnes věří, že tato složitost je nejlépe zvládnuta pomocí pouze malé sady dobře srozumitelných technik v jejich programech. Složili přísná pravidla o programových formách, které by měly mít, a horší z nich odsoudí ty, kdo tato pravidla porušují, jako špatné programátory

1
Pir Abdul

Programátor, který pouze kopíruje a vkládá kód z jiných míst a nechápe, jak kód skutečně funguje, je známý jako špatný programátor! Obvykle to vidím s javascriptem.

1
Pir Abdul

Myslím, že jediný způsob, jak může být programátor špatný v programování, je, když přestane poslouchat, co mají ostatní lidé říkat.

Programování se týká informací. Je třeba mít uši a oči otevřené dokořán.

Programátor se může zlepšit pouze tím, že udeří do knih a tvrdě pracuje. Měli byste se však také zaměřit na učení se novým věcem, ne na to, abyste se stále znovu a znovu učili (hledejte nové zkušenosti ve vašem konkrétním oboru/oboru).

Hodně štěstí.

0
Pablo