Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Tuxik

Stran: 1 ... 89 90 [91] 92 93 ... 99
1351
Teď k tobě budu trošku krutej, ale prosím, neber to jako urážku, ber to jako dobrou radu.
Z posledního příspěvku bych řekl, že nejsi žádnej admin, ale jsi spíš někde na úrovni power user. Je nereálné bez větších zkušeností a referencí sehnat dost zákazníků, kteří tě jen tak pustí na svoje servery, dají ti heslo roota a řeknou snaž se. Je pravděpodobné, že i když někoho seženeš, tak najednou zjistíš, že používají distribuci, kterou jsi nikdy neviděl, která má něco řešený jinak, kterou někdo na tvojí úrovni dodrbal metodou "neumím -> google -> pokus/omyl". V tu chvíli budeš za totálního blbce. Jestli máš pocit, že tě nenaplňuje to co děláš a chceš se dostat k "lepším techologiím", hledej si zaměstnání na nějaké junior pozici. Pokud budeš mít štěstí a seženeš něco úžasného, časem vyrosteš na seniora, možná ještě vystřídáš pár zaměstnání a pak se můžeš rozhodovat, jesti se vykašlat na suprovou práci za 100k+ a jít dělat na sebe, začít místo technických věcí řešit papíry, běhat po úřadech, nasírat se se zaměstnancema atd. Ale to až v momentě, až budeš moct říct: dělal jsem big data, nebo computing clustery, nebo něco, co nedokáže každej studentík za flašku rumu. Protože to, co děláš teď, ti opravdu za tu flašku rumu umí udělat další milion lidí. Toť můj názor a ještě jednou se omlouvám za upřímnost.

1352
Desktop / Re:Zkušenosti s KDE5
« kdy: 22. 09. 2015, 13:10:56 »
Osobně používám Plasmu 5 v Gentoo a dokonce tvrďácky přímo live buildy, už několik měsíců žádný závažnější problém, sem tam nějaká drobnůstka (naposledy mi nešlo přepínat jazyk přes klávesovou zkratku, myší to šlo, češtinu používám většinou jen do diskuzí, při práci mi to moc nevadilo), vždy se to celkem rychle vyřešilo samo novým buildem. Popravdě mám spíš pocit, že se poslední dobou neudálo nic zásadního, trochu mi jenom vadí takovej napůl překlad do češtiny, ale s tím se dá žít (žil bych i anglicky, ale prostě mě zajímá, jak pokračují :-D ). Jinak se chystám doma nasadit GCC 5.2, tak uvidím, jak můj stoletej systém dopadne :-D

1354
Hardware / Re:problem live cd na flash disku
« kdy: 21. 09. 2015, 12:39:15 »
Začal bych tím, jestli jsi nekoupil nějaký fejky... něčím otestuj, že to má opravdu udávanou kapacitu, např. program S3 pod linuxem http://oss.digirati.com.br/f3/ nebo h2testw pod woknama
Pardon, jmenuje se F3, ne S3 :D

1355
Hardware / Re:problem live cd na flash disku
« kdy: 21. 09. 2015, 12:36:14 »
Začal bych tím, jestli jsi nekoupil nějaký fejky... něčím otestuj, že to má opravdu udávanou kapacitu, např. program S3 pod linuxem http://oss.digirati.com.br/f3/ nebo h2testw pod woknama

1356
Server / Re:problem se skype?
« kdy: 21. 09. 2015, 12:27:53 »
No je nějakej větší problém se skajpem, nejede mi taky, očekávám každou chvíli prohlášení MS, že sa na všechno vykašlal a postupně vypíná všechny servery :D

1357
Distribuce / Re:Distro pro starší notebook
« kdy: 21. 09. 2015, 09:24:49 »
veci jako Gentoo, LFS, nebo snad na busybox a uClibc zalozene distra predpokladam neresis, protoze chces neco normalniho ;)

A co se ti nezdá na Gentoo? Mám ho přesně na tom samým NB pro svoji tří letou dceru. Zkompiloval jsem to na desktopu za den a šlape to krásně... TuxPaint a Brmaborový chlapík na tom běhají v KDEčku nádherně :D

1358
O serveru Root.cz / Re:Nová podoba roota (beta)
« kdy: 18. 09. 2015, 11:04:15 »
cd /var/www/root.cz
rm -rf beta
mkdir betav2
cd betav2
vim index.php

asi tak, ne? :-D

A co takhle možnost si hlavní stránku přizpůsobit? Vybrat si počet sloupců 1-5 a do nich si obsah drag&dropnout jako jednotlivé moduly? A ideálně u některých modulů volba řádky/dlaždice a volba velikosti obrázku a délky náhledu textu? V HTML5 to není zase tak moc komplikovaný úkon. A ještě bych navrhoval vypnutí reklam za předplatné? :-D

Já vím, znamená to vyhodit všechno co se udělalo, ale popravdě... v tomto případě je to možná nejlepší cesta. Úpravy do použitelné podoby to rozhodí natolik, že to bude stejně na přepsání :-D

1359
Vývoj / Re:Refaktorizovat, nebo ne?
« kdy: 04. 09. 2015, 17:23:56 »
Co se týká dopisování čehokoliv do stávajícího "bordelu", není to tak jednoduché. Systém je dobré čas od času aktualizovat a průšvih je na světě, co se přepsalo, musí se přepsat znova. Existuje na to sice "suprovej" modul vqmod, kterej dělá podle šílenýho XML zápisu rewrite php souborů se změnama, ale tomu se vyhýbám, jak to jen jde (používám ho, protože je to bohužel nejrozumější způsob úpravy core files, ale opravdu jen pokud neexistuje žádná jiná možnost). Pokud se mi to hodí, raději si dopíšu vlastní metody s tím, že volají ty původní, jenom třeba trochu jinak. Proto raději udělám vlastní metodu se třema parametrama, než přepisovat core soubory tak, aby mi stačil pouze jeden parametr.

A ještě jedna otázečka... napadá někoho, jak zredukovat tenhle bordel, nebo ho mám prostě jenom vyhodit do vlastní metody getLanguageStrings a nechat to být?
Kód: [Vybrat]
        $data['heading_title'] = $this->language->get('heading_title');
        $data['text_edit']    = $this->language->get('text_edit');
        $data['text_enabled'] = $this->language->get('text_enabled');
        $data['text_disabled'] = $this->language->get('text_disabled');
        $data['text_content_top'] = $this->language->get('text_content_top');
        $data['text_content_bottom'] = $this->language->get('text_content_bottom');     
        $data['text_column_left'] = $this->language->get('text_column_left');
        $data['text_column_right'] = $this->language->get('text_column_right');
        $data['entry_code'] = $this->language->get('entry_code');

je to jen kousek kódu, někde je to 50 i víc takových úžasných řádků. Jenom upozorňuju, že $this->language->get chci v nějaké formě zachovat a nepřepisovat, protože je to opět jedna z core funkcí, která se prostě používá všude a nechci zavádět další na to samý.

1360
Vývoj / Re:Refaktorizovat, nebo ne?
« kdy: 04. 09. 2015, 15:34:37 »
Ještě co se týče přepsání jednořádkovýho ifu na jednořádkovou metodu (která má tři řádky) mi přijde opravdu spíš zbytečný. Pokud je ten if nějakej složitější a v podstatě ho pojmenovat metodou zjednoduší čtení, proč ne, ale zrovna v tomto případě mi to opravdu přijde kontraproduktivní. Respektive... metoda getUser měla být už v core systému a neměla se opakovat v každým druhým skriptu (jenom upozorňuju, že ten jednořádkovej if není vytaženej z opencartu, byl to jenom narychlo napsanej příklad), ale v podstatě podobně jednoduchý věci se tam podle mě opakují celkem často a vyčlenit je globálně by nebylo špatný. O tom byl v podstatě z velké části můj původní dotaz, jestli tyhle věci řešit po svým, když je nikdo nevyřešil systémově, nebo jestli to prostě udělat stejně, jak všude jinde.

1361
Vývoj / Re:Refaktorizovat, nebo ne?
« kdy: 04. 09. 2015, 15:24:40 »
Popravdě z toho celýho mám velmi smíšené pocity... celkem pěkně a kvalitně jsem implementoval API na jedné přepravní služby, která projevila zájem o další spolupráci, dokonce se jim i ten kód líbí, nicméně já si pořád připadám tak nějak blbě, protože jsem si do svýho celkem pěknýho kódu přenesl část cizího bordelu.

Jinak celej OpenCart mi přijde jako slepenec práce několika lidí, kteří vůbec neměli tušení, co že vlastně dělají, každej si napsal svůj kousek podle zadání a někdo to potom bezmyšlenkovitě poslepoval dohromady. Výsledkem je nepochopitelnej mix OOP, PP a čehosi  mezi tím.

Co se týče architektury, je to celkem logicky rozdělený na controller, model, view a language. Systém language je celkem zvláštní, ale budiž, model vypadá většinou celkem úhledně, view jsou tpl šablony, tomu není moc co vytknout, jenom v controlleru člověk kolikrát narazí na neuvěřitelný věci.

Co se týče hlavičky jako takové, ta je celkem v pohodě, ale za ní následují breadcrumbs, nějaký další mačkátka, pokud se používají a to je už lepený v controlleru pokaždá znova, aneb ideální kaditáti na osamostatnění. Další zajímavá věc je načítání dat pro formuláře, ukázka:
Kód: [Vybrat]
		if (isset($this->request->post['weight_sort_order'])) {
$data['weight_sort_order'] = $this->request->post['weight_sort_order'];
} else {
$data['weight_sort_order'] = $this->config->get('weight_sort_order');
}
v některých případech je místo else ještě elseif a až potom else, kde se přiřadí třeba $blabla=''; jako default, když není nic jinýho. Z toho by šlo určitě udělat krásnou funkci a tu pak používat na jednom řádku místo 5-7
Kód: [Vybrat]
$cosi=getValue('nazevGet','nazevConfig','default');
Tohle celý je třeba 20x za sebou při načítání formuláře a ve výsledku když to projde funkcí validate(); tak se to odešle jako array do nějakých systámových funkcí na uložení nebo kdoví co.

Jak to tu píšu a přemýšlím nad tím, tak refaktorovat se bude, protože tohle je prostě napřesdržku.

Děkuji za rady :D

PS pro Kit: na 5-10k řádek by se to asi dostávalo blbě :D

1362
Vývoj / Re:Refaktorizovat, nebo ne?
« kdy: 04. 09. 2015, 14:51:49 »
Nejde o rozsekání kódu, ale o dekompozici. Každá ucelená vlastnost by z něj měla být vyčleněna, pojmenována, parametrizována a uložena jako samostatná funkce či metoda. Nezáleží na tom, zda je volána 20× nebo pouze jednou.
Umělé rozsekání kódu je k ničemu.
No a o tom to je, pokud je tam 50 řádků v podstatě lineárního programu, kterej dohromady řeší hlavičku, maximálně to vyhodím do nějakýho getHeader, odsunu to někam na konec, ať mi to nekazí zbytek a bude :-D
něco podmínek tam je, ale vyhazovat zvlášť něco jako
Kód: [Vybrat]
$user = ( $this->user->logged ? $this->user->name : 'guest' );
mi přijde kontraproduktivní...

Citace
Co je to za OSS, ať si to mohu alespoň prohlédnout? Pokud mě to zaujme, mohu to případně refaktorovat a opět vydat pod licencí OSS jako fork.
OpenCart, přeju hodně štěstí, vthnul jsem se na to původně s velkým elánem... elán mě přešel zhruba v okamžiku, kdy jsem si v sublimu otevřel první soubor "pro inspiraci" :-D

Citace
Každé správné refaktorování se opírá o testy. Můžeš tedy začít tím, že napíšeš ty testy. Nic nepokazíš a pokud se na tom zastavíš, můžeš je následně využívat pro kontrolu funkčnosti aktualizací. Teprve pak má smysl začít refaktorovat.

nemám testy na všechno, ale něco jsem si napsal, protože jsem se v tom bordelu celkem ztrácel. Bez toho bych byl asi v yadeli po každé druhé úpravě

1363
Vývoj / Re:Refaktorizovat, nebo ne?
« kdy: 04. 09. 2015, 14:33:39 »
No to ano, samozřejmě sem se snažil, nicméně v celém systému ve všech modulech je běžné mít v hlavní metodě naplácaných cca 50 řádků jen načtení hlavičky stránky s nějakýma standartníma klikátkama a error testama, následuje X řádků načítání jazyka a dalších serepetiček, na který z neznámýhoo důvodu nejsou standartní metody, i když se v celým systému opakují milionkrát. Za tím už následuje samotný užitečný kód, na kterým jsem si dal celkem záležet, ale co s tím začátkem? Prostě ho useknout do samostatné škaredé metody, ať moc nezavazí, nebo ho opravdu pěkně učesat?

Osobně jsem na pochybách, jestli s vyjímkou tohoto jednoho modulu chci mít s tím systémem ještě někdy něco společného. Pokud se rozhodnu že ano, celkem by se mi asi vyplatilo to učísnout sám pro sebe...

Spíš by mě zajímal názor na to umístění něčeho pěkného do takového bordelu. Pokud je kolem bordel, se kterým už jsou ostatní zvyklí pracovat, jestli to nebude spíš na škodu zavést do toho řád pouze na jednom místě.

1364
Vývoj / Refaktorizovat, nebo ne?
« kdy: 04. 09. 2015, 14:04:40 »
Řeším takovej malej problém:

napsal jsem v PHP modul pro jeden systém. Původně mělo jít pouze o malý projekt pro vlastní potřebu, nicméně se mi to trochu rozrostlo a bude to k dispozici veřejně.

Teď řeším zásadní otázku, jak moc refaktorizovat kód.

Původní systém je napsaný dost volně, coding style v podstatě žádný, často se opakují hlavičky, načítání language stringů je řešeno jeden řádek = jeden string, načítání změněných/nakonfigurovaných/defaultních hodnot na několik řádků pro každou hodnotu atd. Z tohoto důvodu má jedna metoda zcela běžně 100,200 i více řádků. Když se pokusím o refaktorizaci, sice jsem schopný z toho udělat pěkný kód rozsekaný do menších metod, ale tento styl potom samozřejmě vůbec nekorespoduje s celým zbytkem systému a většina refaktorizace v podstatě řeší hlavně původní systém a ne můj modul.

Přepsat celý systém rozhodně není řešení (asi by bylo jednodušší si to napsat celý sám znovu a na to opravdu nemám ani čas, ani chuť), je to ne úplně málo používaný OSS.

Takže co s tím? Refaktorizovat modul podle sebe a zamotat hlavu ostatním, kterým se to dostane do ruky (já vím, když to udělám dobře, normální programátor by v tu chvíli měl zajásat, že je aspoň kousek napsanej pěkně), nebo dodržet původní bordel a smířit se s tím?

1365
Vývoj / Re:Dvě podmínky ve while
« kdy: 02. 09. 2015, 15:32:05 »
Pořád řešíte počet řádků funkce, ale to není moc dobrá metrika. Mnohem lepší je cyklomatická složitost funkce.

Když budu mít 1000 řádkovou funkci s cyklomatickou složitostí 1, tak ji můžu rozdělit do 100 fukcí po 10 řádcích, ale jejich cyklomatická složitost bude pořád 1. Mentální kapacita nutná k pochopení jedné funkce s 1000 řádky nebo 100 funkcí s 10 řádky je pořád stejná. Nic moc tím rozdělením neziskám.

Když budu mít 1000 řádkovou funci s cyklomatickou složitostí 100, tak vím, že je to opravdu blbě. Tohle nikdo nikdy nepochopí (ani autor). Tady je jediná cesta, rozdělit to do více malých funkcí s malou cyklomatickou složitostí.

Hááálelůja, přesně tak, jenom ještě doplním, že i tu jednoduchou 1000 řádkovou funkci může (a nemusí ) být vhodné rozdělit kvůli opakujícím se částem kódu, záleží na situaci a na "zdravém selském rozumu", nikoliv na 20-ti řádkové poučce.

Stran: 1 ... 89 90 [91] 92 93 ... 99