Přejít k navigační liště

Zdroják » Zprávičky » Proč jste mizerní PHP programátoři?

Proč jste mizerní PHP programátoři?

Zprávičky Různé

Nálepky:

Řekne vám to článek na NetTuts+ (a upřímně – zdaleka nejde jen o PHP). Mezi důvody, které článek zmiňuje, naleznete např. tyto:

  • Myslíte si, že si všechno napíšete sami nejlíp
  • Nerozmýšlíte se, co vlastně děláte, a rovnou bušíte kód
  • Nekomentujete
  • Kašlete na „coding standards“ a mastíte kód jak vám od ruky upadne
  • Vymýšlíte komplikovaná řešení, abyste ukázali, jak jste dobří
  • Jste asociální mamlasové, co se považují za elitu a pohrdají nováčky
  • Nesledujete vývoj

Poznáváte se v těchto bodech? Nebuďte smutní – každý začínal jako mizerný programátor; důležité je si své chyby uvědomovat a pracovat na nich.

Komentáře

Subscribe
Upozornit na
guest
27 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
jos

no nevim, někdo (možná Fowler?) napsal, že pokud mam potřebu kometovat kód, tak ho mam asi blbě napsanej

vyjímky samozřejmě existujou

jos

eh, tak voni to tam píšou

I, [state your name], hereby swear to make comments in any situation where the purpose of the code I’ve written isn’t immediately apparent./

měl bych si za trest vygooglit článek na téma: „proč jste mizerní komentátoři zpráviček“

rooobertek

Ja som raz našiel hardcore komentár nad if statementom:
„If condition is true“

Mimochodom pri programovaní PHP mi dosť pomáha písať phpdoc. Nie je to moc užitočné pri čítaní kódu, ale netbeans vie potom omnoho krajšie napovedať. Používam to ako náhradu za silné typovanie v jave.

jos

a ještě větší hardcore by bylo

# If condition is true
if($x == $y) {
  $z = true;
} else {
  $z = false;
}

já sem ještě nestihl utýct od eclipse a tam je situace podobná (s tim phpDocem); v poslední verzi se sice mnoho zlepšilo (třeba když mam v konstruktoru nahintovanej typ argumentu a ten strčim do private membera, tak nemusim phpDocovat toho membera ani návratovou hodnotu případnýho getteru), ale steně čekam nejvíc na „podporu továren“

 class factory {   function create($what, ...)   {     return new <třída jejíž typ závisí na $what>;   } } rád bych si třeba nějak naskriptoval odvození návratový hodnoty na základě argumentů tovární metodyumí tohle nějakej kečup?
jos

omg, hlavně že sem si zobrazil náhled (leč nedojel sem očima do konce)

class factory
{
  function create($what, ...)
  {
     return new <třída jejíž typ závisí na $what>;
  }
}

rád bych si třeba nějak naskriptoval odvození návratový hodnoty na základě argumentů tovární metodyumí tohle nějakej kečup?

rooobertek

Neviem si predstaviť, ako také niečo aplikovať pri PHP.
V netbeanse ale pomáha taký malý lokálny hack:

$x = Y::factory(‚xxx‘);
$x instanceof Z;
$x->…

Na treťom riadku si netbeans myslí, že $x je inštancia triedy Z. Nie je to samozrejme čisté riešenie, ale ak potrebujem rýchlo nápovedu, pomôže.

jos

zajímavej hack, eclipse se na to taky chytil

s představivostí ti nepomůžu

fos4

Eclipsu jde trochu pomoct komentářem:

/* @var $x object */

jos

to zamozřejmě znam, ale to radši pošlu tu instanci do nějaký privátní metody a v její signatuře to mam nahintovaný

i takovejhle phpDoc totiž může časem zatuchnout a zabírá to místo ve zdrojácích

lucc

jojo, toto funguje i v netbeans.

v6ak

Viděl jsem článek s příkladem. Byly v něm dvě varianty kódu. Jedna měla komentáři oddělené jednotlivé části. Druhá jen volala jiné metody místo těchto částí a v orientaci dost pomohly ty jejich názvy.

Myslím, že sice na tom něco bude, ale zase to neznamená, že komentáře jsou špatné. Jen že v některých případech mohou být nahrazeny.

naked

…coz ale neni nic jineho nez pivni bonmot prave takovych mamlasu, o kterych je clanek…

vadimo

Ja som mizerny programátor. Taký lenivý. Najtažšie je začať a potom už to nejak ide. Také hobby. Ale podľa tychto bodov nie som až taký zlý podľa všetkého:
Ja iba kašlem na „coding standards“ a mastím kód ako mi od ruky upadne a popri tom nesledujem vývoj.

rooobertek

coding standards netreba až tak dodržiavať, ak používate IDE s formátovačom kódu. V netbeanse je na to skratka alt+shift+f.

v6ak

Odsazování je jen jedna část coding standards. Další jsou například konvence pojmenování. Nebo zákaz „topení“ výrazů se side effects jako x = a + (b++). A další.

Jinak človek, který má problémy ručně dodržet odsazování, má často (možná ne vždy) problém i s mnohým ostatním.

blizzboz

ľutujem programátorov ktorí musia tvoje aplikácie po tebe upravovať. životný cyklus softwaru nekončí jeho prvým releasom.

rádoby“progra­mátorov“ v PHP je jak nastratých, bohužiaľ 95% z nich nevie programovať, ale len lepiť kód, používajú techniku zvanú ctrl+c ctrl+v. nedávno som nahliadol do zdrojových kódov systému mnews a chcel som zvracať.

Čelo

Nedávno jsem byl na Slovensku a tam vám byl takovej bordel…. chtělo se mi taky ;)

blizzboz

ani sa ti nečudujem, okrem pekných žien tu nič zaujímavé nemáme.

andrejk

zaujimavy je aj bezne pouzivany dvojity zapor

turista

Ale jo, máte. Roháče byly fajn :)

úmyslně

jenomže někdy je to úmyslně z důvodu know-how. aby se v tom nikdo jinej nevyznal, než já.

cavo

spominam si na jeden komentar, ktory znel:
„zrob request“

Faboun

* Nevěříte si, pro jistotu nikdy nic nepíšete sami, na všechno jsou frameworky !
* Nikdy nepíšete nic, ať je to cokoliv. Vždy musí předcházet několika stupňová analýza, desítka prototypů a za rok je hotovo.
* //zde zacina podminka testujici pravdivost vyrazu „a > b“
* Klidně trávíte svůj čas nad naprosto přesným odřádkováním, jinak by totiž program nemohl fungovat
* nepoužíváte konstrukce type foreach, protože jsou zbytečně komplikované a nepoužitelné
* do týmu přijímáte pouze nováčky, protože pohrdáte elitou, přece nejde o to, co umíte!
* Váš kód je platný jen v poslední unstable verzi daného interpretu/pře­kladače/platfor­my. Co na tom, že nikdy není nasazena, hlavně že využíváte cutting edge neodladěných technologií!

Tolik můj názor, jeslti s ním souhlasíte nebo ne nechám na vás ;)

Flasi

No víte – ten popis programátora ve zprávičce – ten se týká VELKÉHO množství programátorů.
Sám spoustu takových lidí znám. Sám jsem se v tom v některých situacích poznal a uvědomuji si, že dříve takových situací u mě bylo hodně.

Ale ten programátor, jak jste ho popsal vy – já teda takového nikoho neznám. A ani z doslechu jsem neslyšel, že by takový někdo byl. No vlastně jo – slyšel jsem o jednom člověku, co tak dlouho dělal analýzu, aby získal co nejvíc času na svůj coming-out, že vlastně vůbec neumí programovat. Ale to ve skutečnosti programátor nebyl, tak nevím jestli to počítat.
A vlastně jednou jsem napsal aplikaci v něčem co bylo „cutting-edge-beta-unstable-cool-hyper-buzzword“. Aplikaci, která neměla být nasazena, jenom jsem si chtěl osahat novou technologii. Tak to taky nevím, jestli to mám počítat.
Ale i kdybych počítat oboje, tak to bude asi tak 1000:2.

Faboun

Muj prispevek byl myslen jako parodie (protoze mi uvedene body prisly jako totalni nesmysly) jak by podle clanku mel vypadat spravny programator. Potkat takoveho „programatora“ bych v zivote nechtel :D

Ladis

Je třeba přečíst si originální článek aby to dalo smysl, tahle to vypadá jako „Napiš Lojzo něco provokativního ať máme nějaké komentáře“.

Eskymak

Našel jsem podobný článek v češtině. http://blog.katuscak.cz/clanek/jak-se-stat-dobrym-php-programatorem/

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.