Staré zdrojáky - hříchy mládí

Chobot

Staré zdrojáky - hříchy mládí
« kdy: 21. 07. 2014, 17:38:40 »
Každý programátor se vyvíjí, dělá chyby, ale měl by se z nich poučit a neopakovat je. Když se podívá na své staré zdrojáky, měl by říct: "to je hrůza, dneska bych to napsal líp" - v opačném případě je to buď Bůh, který psal odjakživa dobře (celkem nepravděpodobné) nebo kodér, který se zasekl na místě a nevyvíjí se.

Mít tedy historii plnou "hrozných" zdrojáků je tedy do jisté míry normální. Dokud tyhle zdrojáky v klidu odpočívají někde v šuplíku nebo na záložním disku, o nic nejde. Horší to je, když jsou veřejně vystavené.

Programátoři se odjakživa inspirují a učí od ostatních. Proto je nezodpovědné nechávat někde vyset vyloženě špatný kód. Zejména bych chtěl apelovat na autory, kteří někam píší články nebo jsou veřejně známí - je tu vyšší pravděpodobnost, že si někdo řekne: "ten tomu asi rozumí, od něj to opíšu". Takže vás prosím o trochu zodpovědný přístup:

a) buď ty zdrojáky opravit (ideální řešení)

b) nebo je stáhnout, aby nikoho nevedly špatným směrem (např. čtenáře, který se tam nějak prokliká)

c) nebo tam aspoň dát velkou ceduli: TAKHLE SE TO NEDĚLÁ a prohlásit to za odstrašující případ.

Navrhoval jsem to už na Zdrojak.cz, kde autor edukativního článku o SQL injection má sám svůj veřejně vystavený kód SQL injection chybami prolezlý:

Kód: [Vybrat]
$alias = $db->getCell("SELECT id FROM content WHERE alias='{$_POST["alias"]}'");
Bohužel se můj komentář nesetkal s pochopením místního cenzora - ten ho prohlásil za "klasický FUD" a přidal vyhrůžku, že další komentáře bude mazat:

Citace
Jedná se o klasický FUD na autora článku. Pokud to není z předchozí věty jasné, tak další příspěvky budu mazat.

Takhle se tam vyrovnávají s kritikou.

TL;DR: jestli máte veřejně vystavené zdrojáky a jsou v nich chyby, tak je buď a) opravte b) nevystavujte to veřejně c) napište tam varování, že tam jsou chyby a takhle se to dělat nemá.
« Poslední změna: 21. 07. 2014, 22:38:32 od Petr Krčmář »


Lucker

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #1 kdy: 21. 07. 2014, 18:01:31 »
Ano, určitě bude mít spousta vývojářů čas a chuť přepsat své 7 let staré projekty, jenom proto, aby ty jsi byl spokojenej a neměli tam "spatný" kód.
Osobně mám jeden projekt ve 3 verzích, přičemž ten první je taky potenciálně nebezpečný, ale nabízím ke stažení všechny tři - a kupodivu ten první je nejvíc stahovaný i přes varování, že neodpovídá moderním zabezpečovacím standardům.
Když chtějí, ať si to používají, na vlastní nebezpečí samozřejmě, až jim někdo dropne databázi, tak ať s tím za mnou nechodí.

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #2 kdy: 21. 07. 2014, 18:12:37 »
Chobot by měl jít a přepsat všechen špatný kód světa. Nebo alespoň ustanovit komisi, která bude rozhodovat, který kód je zveřejnitelný a který už ne.

Chobot

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #3 kdy: 21. 07. 2014, 18:27:26 »
Ano, určitě bude mít spousta vývojářů čas a chuť přepsat své 7 let staré projekty

Přečti si to celé.

a kupodivu ten první je nejvíc stahovaný i přes varování, že neodpovídá moderním zabezpečovacím standardům.

Dát tam varování je právě jedno z navrhovaných řešení.

Chobot by měl jít a přepsat všechen špatný kód světa. Nebo alespoň ustanovit komisi, která bude rozhodovat, který kód je zveřejnitelný a který už ne.

Pro tebe platí totéž (viz výše). Píšu, že tam stačí dát upozornění. Běžně u softwaru bývají seznamy „known bugs“ nebo „known issues“.

BTW: jestli jsi ten přihlášený David Grudl, tak soudě podle tvého komentáře bych řekl, že se ti autorem navrhované "řešení" taky nelíbí, ne?

Tenhle článek byl podle mého FAIL (a poslední dobou ne jediný) a jestli má Zdroják.cz sloužit vývojářům, myslím si, že redakce by měla věnovat kontrole článků alespoň tolik úsilí, kolik věnuje mazání komentářů.

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #4 kdy: 21. 07. 2014, 18:43:11 »
Ten článek je úplná tragédie, ale tvůj návrh, že lidé mají pátrat po svých starých kódech a opravovat je, není o nic lepší.

Kupříkladu by mě zajímalo, jak bude třeba právě onen autor článku měnit kód v odevzdané diplomové práci, která je veřejně dostupná ;-)


Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #5 kdy: 21. 07. 2014, 19:08:12 »
Internet neni "curated" medium a podle toho to vypada. Jakykoli pokus kus vycistit nic nezmeni - masa spiny kolem zakonite prevazi.

Chobot

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #6 kdy: 21. 07. 2014, 19:47:14 »
Internet neni "curated" medium a podle toho to vypada. Jakykoli pokus kus vycistit nic nezmeni - masa spiny kolem zakonite prevazi.

To je pravda - a proto se lidi často řídí mj. reputací autora - někomu budou věřit víc a někomu míň. Když někdo píše články na známý cizí server (ne jen na svůj blog třeba), tak mu to zvyšuje reputaci a lidi pak mají tendenci mu víc věřit a víc se od něj inspirovat, víc od něj "opisovat". Takže u těchto lidí má větší smysl ten kód čistit (bez ohledu na to, že kolem zůstává spousta anonymního humusu resp. s nižší reputací). Ber to třeba jako spelečenskou zodpovědnost nebo nějakou profesní etiku.

Když autor ty chyby řešit nebude, tak to má různé důsledky - prvoplánový důsledek je ten, že to zkazí začínajícího programátora nebo to pomůže zatáhnout chyby do nějaké aplikace. V druhé rovině to poškodí reputaci autora - lidi ho budou považovat za nekompetentního, nebudou věřit jeho článkům. Ve třetí rovině to poškodí reputaci média (v tomto případě Zdroják.cz), protože na něj píší nekompetentní autoři, nefunguje redakce, korektura (ani jazyková, ani odborná) o nějakých oponenturách nemluvě. Z toho nakonec plyne, že je lepší číst jiná média (pravděpodobně zahraniční), kde se na kvalitu víc dbá, redakce fungují*. Za Martina Malého a IInfa býval Zdroják celkem hodnotný zdroj (byť taky ne bez chyby) - teď je to bída s nouzí.

*) ne, fungující redakce skutečně není cenzor, který si spravuje pošramocené ego a vylývá si zlost na komentáterech

Chobot

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #7 kdy: 21. 07. 2014, 19:51:31 »
Ten článek je úplná tragédie, ale tvůj návrh, že lidé mají pátrat po svých starých kódech a opravovat je, není o nic lepší.

Kupříkladu by mě zajímalo, jak bude třeba právě onen autor článku měnit kód v odevzdané diplomové práci, která je veřejně dostupná ;-)

V diplomce asi těžko (i když errata se někdy vydávají, a hlavně bych čekal, že se tyhle připomínky objeví v oponentuře nebo posudku). Ale odkazoval jsem tu GitHub, kde to autor určitě opravit může, stejně tak může napsat "known issues" na svůj web toho projektu.

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #8 kdy: 21. 07. 2014, 20:26:20 »
Proč to nastavovat, pošli mu pullrequest ;)

Chobot

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #9 kdy: 21. 07. 2014, 20:42:46 »
Proč to nastavovat, pošli mu pullrequest ;)

Koukal jsi na ty zdrojáky? Tím lepením $_POST do SQL stringů je to úplně prolezlé. Tolik práce za něj fakt dělat nebudu. Docela bych i pochopil, kdyby to nechtěl dělat ani on, pokud ten projekt už nějak aktivně nerozvíjí - přijatelným řešením tady asi bude přidat tam nějaké varování (hlavně na web + ke zdrojákům).

A hlavně mě mrzí, jak se k tomu staví Zdroják - snaží se to zamlčovat a odvádět pozornost - např. můj první komentář, kde jsem na tuto chybu upozorňoval smazali, pak jim totéž napsalo víc lidí a už to cenzor nechal, ale stejně označí kritika za trolla a šiřitele FUDu místo aby ty chyby raději řešili.

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #10 kdy: 21. 07. 2014, 20:52:51 »
Skutečnost, že autor článku má v šest let starém kódu prasárny, dokazuje přesně co? To je jako napsat, že se ještě v první třídě pochcával. Jsem rád, že takové komentáře neprojdou přes moderátora.


Bla

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #11 kdy: 21. 07. 2014, 20:59:31 »
tuto chybu upozorňoval smazali

Taky mi právě smázli komentář, kde jsem s tebou souhlasil :-)
Tož jsem tam bouchnul ještě jeden o poznání méně slušný, no, vlastně jsem mu napsal, že je kurví syn a že si léčí komplex s něčím krátkým v kalhotech 8)
Když už je v tom mazání, ať si to pořádně užije, jestli z toho má erekci, tož to bych byl pěkná svině, kdybych mu to odepřel.
Myslím, že to bude podobný problém asi jako s chlápkama od kabelovky: http://www.zvraceny.cz/video/66713-south-park-documental-de-homicidios-17x02/

Bla

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #12 kdy: 21. 07. 2014, 21:04:58 »
Skutečnost, že autor článku má v šest let starém kódu prasárny, dokazuje přesně co? To je jako napsat, že se ještě v první třídě pochcával. Jsem rád, že takové komentáře neprojdou přes moderátora.

Ty hele, mně smázli úplně normální koment.
Pokud kurva začne kázat o morální čistotě, tak se od ní očekává, že svoje stará "díla" minimálně označí za přešlap.
Označit kód výstrahou, že obsahuje bezpečnostní chyby, pokud jsem teda "jako ten expert na bezpečnost", je prostě elementární.
Stačilo by obligátní:
"Tento kód je starý a psal jsem ho předtím, než jsem se o bezpečnosti něco dozvěděl."

Bla

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #13 kdy: 21. 07. 2014, 21:07:31 »
Ad oprava, ona to není jen oprava, pak je tu taky nějaké testování, ladění a vůbec není jisté, jestli po opravě zjevných chyb v kódu není ještě tuna dalších, méně zjevných. Takže ta oprava asi nepřichází v úvahu, ale označení zjevně špatného kódu za "poněkud zranitelný" patří myslím k Best practices.

Re:Staré zdrojáky - hříchy mládí (bonus: cenzura na Zdrojak.cz)
« Odpověď #14 kdy: 21. 07. 2014, 21:22:22 »

Koukal jsi na ty zdrojáky? Tím lepením $_POST do SQL stringů je to úplně prolezlé. Tolik práce za něj fakt dělat nebudu. Docela bych i pochopil, kdyby to nechtěl dělat ani on, pokud ten projekt už nějak aktivně nerozvíjí - přijatelným řešením tady asi bude přidat tam nějaké varování (hlavně na web + ke zdrojákům).

A hlavně mě mrzí, jak se k tomu staví Zdroják - snaží se to zamlčovat a odvádět pozornost - např. můj první komentář, kde jsem na tuto chybu upozorňoval smazali, pak jim totéž napsalo víc lidí a už to cenzor nechal, ale stejně označí kritika za trolla a šiřitele FUDu místo aby ty chyby raději řešili.

README.md je soucasti projektu, posli pullrequest na nej. To mnozstvi prace, ktere jsi tu strafil frfnanim, je nesrovnatelne vetsi nez tahle namaha.