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 - BoneFlute

Stran: 1 ... 36 37 [38] 39 40 ... 133
556
Vývoj / Re:Abstrakce u OOP
« kdy: 13. 06. 2020, 16:26:20 »
Aniž by si znal konstrukci &&? Aniž by si znal co znamená EOF? etc?

produkcni kod neni ucebnice programovani pro zacatecniky.

Vypadá to, že jsi nepochopil pointu mého přirovnání :-)

557
Vývoj / Re:Abstrakce u OOP
« kdy: 13. 06. 2020, 16:09:45 »
Však to je správně, na vyšší úrovni se věci chápou lépe, už jen C je abstrakce nad asemblerem, tak nízko se nikdo nerýpe.
Bavíme se o situaci bez komentářů. Několik vrstev abstrakce bez komentářů, proč tam která vrstva je a jakou má zodpovědnost, je naprostá tragédie.
To je docela zajímavý argument, to s tím C jako abstrakcí. Nevím jak ty (@Idris), ale když by si poprvé viděl konstrukci:
Kód: [Vybrat]
for (i=1;i<61 && feof(h);i++) {...}
Věděl by si co ta konstrukce for() {} dělá, jen na základě její samopopisnosti? Aniž by si znal konstrukci &&? Aniž by si znal co znamená EOF? etc?

558
Vývoj / Re:Abstrakce u OOP
« kdy: 11. 06. 2020, 20:05:57 »
V kterém jazyce jsou mixiny dědění?

v jazycich s vicenasobnou dedicnosti se mixiny implementuji dedenim, treba v pythonu je to bezny pattern. Pouzivaji to hojne popularni knihovny. Treba https://docs.sqlalchemy.org/en/13/orm/extensions/declarative/mixins.html

OK. Díky za příklad. Tak je to Python, tam to s těmi typy je takové... Každopádně pak tu zůstává ta otázka s tou přehledností.

559
Vývoj / Re:Abstrakce u OOP
« kdy: 11. 06. 2020, 18:53:01 »
Tak existuje klasické pravidlo, zda objekt IS nebo objekt HAS.

casto neni ani jedno
Nevím, s tím jsem se v praxi nesetkal. Buď objekt je předek - dědím, nebo má vlastnost - komponuji, nebo nemá ani jedno, tak nedělám ani jedno.


co treba mixiny? Je to dedeni, ale pouzivaji se treba pro pridavani atributu do trid.
V kterém jazyce jsou mixiny dědění? Neříkám, že ne, ale co jsem se setkal traity (php), nebo mixiny (c#) nepřidávají do projektu vlastnost předka - což je taková asi z těch zásadnějších výhrad: já nechci, aby prase bylo kočka, já chci jen aby chodilo.

560
Vývoj / Re:Abstrakce u OOP
« kdy: 10. 06. 2020, 20:55:15 »
jak poznám, že tam patří?
Veřejnou dědičností se modelují vztahy is-a. O každém potomkovi by se mělo dát říct, že je zároveň předkem. Navíc to není podmínka postačující, ale jen nutná.
Takže do předka patří jen taková logika, kterou mají všichni potomci. Pokud dává smysl jen pro některé potomky, pak předek nejspíš není to pravé místo.

Příklad funkčnosti, která mi dává v předkovi smysl, je kontrola vstupů, návratových hodnot a invariantů.

Samozřejmě jako všechno u návrhu SW je to důsledné doporučení a nedá se tupě aplikovat vždycky a bez přemýšlení.

V poslední době se v některých jazycích rozšířili traity/mixiny, které jsou určeny právě na to reusable kódu. Protože sice do objektu přidávají logiku, kterou chceme, ale nepřidávají, že potomek JE předek.

561
Vývoj / Re:Abstrakce u OOP
« kdy: 10. 06. 2020, 20:52:26 »
Zdravím, jaké výhody přináší abstrakce u OOP? Tedy abstrakce pomocí interfaců a abstraktních tříd? Jak bych to měl třeba vysvětlit u přijímacího pohovoru?

Možná by se dalo říct, že abstrakce umožňuje zobecnit problém s tím, že rozdělíme fázi pohled na celkový kontext a pohled na konkrétní implementaci/detaily. Čímž si jednak zjednodušíme život, protože nám to hlava pobere, a druhak umožníme, abychom mohli později vytvářet implementace, se kterými jsme na začátku ani nepočítali.

Interface s OOP imho nesouvisí. Ale Interface souvisí s tím, že dokážem vynutit, aby tam bylo nějaké rozhraní, které můžeme používat (pohled z celku), za kterým jsou schované detaily (pohled zevnitř).

Lépe než mnou to bylo vysvětleno v jednom rozhovoru na root.cz-u, ale nemohu ho najít.

562
Vývoj / Re:Abstrakce u OOP
« kdy: 10. 06. 2020, 20:45:38 »
Z čehož jsme pochopily, že se snažíš o reusable kódu pomocí dědičnosti. Což je antipattern a šmitec.

proč, podle koho? Jaká to má negativa?

Kromě ideového sporu, tak praxe mi ukazuje:

Heslovitě:
- prosakování implementace (předek rozumí potomkovi)
- neočekávané předpoklady (předek očekává, že potomek bude dělat něco, a ten netuší co)
- předek má podivné chování (protože to používá jeden potomek)
- voláme metodu, jejíž implementace je rozprsklá přes velké množství tříd
- neizolovatelný kód (voláme metodu, která vytváří objekt, který volá metodu, která vytváří objekt, a ten volá metodu - tu na začátku)

Jako obecně a subjektivně: když přijdu ke kódu, kde se používá dědičnost na reusable kódu, tak vím co mě čeká. Nepomáhá to, je to nepřehledné, nevím co se děje, nedá se to pořádně refaktorovat, testovat, nedá se s tím nic, než tiše trpět.

To, že nějaký kód patří do předka, protože tam patří, o tom už se dá bavit.

jak poznám, že tam patří?
Tak existuje klasické pravidlo, zda objekt IS nebo objekt HAS.
Případně jednodužší, pokud nemusíš, tak to nedělej.

Já jsem se naučil používat interface, abstraktním třídám a dědičnosti se spíše vyhýbám, a dost se mi to osvědčilo.

563
Vývoj / Re:Abstrakce u OOP
« kdy: 10. 06. 2020, 20:05:13 »
a ze pak lze vytvaret hierarchii potomku a usetrit si tak psani kodu.
Code reuse dědičností se považuje za antipattern.

kdyz se spravne rozhodne zda se ma pouzit dedeni (IS it) nebo kompozice (HAS it), tak pak je dedicnost nebo naopak kompozice spravne. takze tvrdit, ze to je antipattern a smytec je antipattern.

Protože tohle ty neříkáš, že jo. Ty říkáš, že
a ze pak lze vytvaret hierarchii potomku a usetrit si tak psani kodu.
Code reuse dědičností se považuje za antipattern.

a to jako proc?!  pokud mam kod, ktery lze napsat uz v rodici a neni zavisly na specializaci potomka, tak patri do rodice.
Z čehož jsme pochopily, že se snažíš o reusable kódu pomocí dědičnosti. Což je antipattern a šmitec.

To, že nějaký kód patří do předka, protože tam patří, o tom už se dá bavit.

564
/dev/null / Re:Kam schovat peníze před inflací?
« kdy: 31. 05. 2020, 23:24:35 »
Ale jo, tomu já rozumím. A taky chápu, že je to zcela neužitečná informace.
To máš pravdu, protože zlato je (téměř) zcela neužitečný kov, takže na jeho cenu sere pes :)

Mě nenaštveš   ;D

565
/dev/null / Re:Kam schovat peníze před inflací?
« kdy: 31. 05. 2020, 22:43:54 »
Což je nic neříkající.
Říká to přesně to, co hodnota jakéhokoli jiného statku vyjádřená v nějakém jiném statku - cena krav v kozách, rajčat v kakaových bobech, koruny v Elvisových ponožkách...
Ale jo, tomu já rozumím. A taky chápu, že je to zcela neužitečná informace.

566
/dev/null / Re:Kam schovat peníze před inflací?
« kdy: 31. 05. 2020, 22:16:56 »
OK, díky za námět k přemýšlení.
Jenom ještě upřesnění to "všeho zboží na trhu" by byl samozřejmě ideál, v praxi se tam dá nějaký výčet. Takže metodika může být různá, váhy můžou být různé atd.
Tak to se má samosebou.


V tom případě se nejedná o zvyšování ceny zlata, ale o devalvaci dolaru, ne?
Devalvace dolaru zvyšuje cenu zlata v dolarech :)
Což je nic neříkající.

No, pokud mi něco neuniká, a pokud trváš na tom, co píšeš, tak mi to vychází jako potvrzení mého chápání, že zlato je velmi stabilní komodita. Netvrdím (a nikdy jsem netvrdil), že úplně nejlepší, ale patří mezi ty nejstabilnější.

567
/dev/null / Re:Kam schovat peníze před inflací?
« kdy: 31. 05. 2020, 20:02:09 »
Úplně nejlepší by byla elektronická měna, která by se opírala o nějaký opravdu základní fundament (což ani kakao stále není). Nejlépe nějak uchopit lidskou práci, či co. Což přináší spoustu potíží - jak tu práci zhodnotit, a jak ji evidovat a jak ji kumulovat.
To je právě to výš zmíněný CPI = spotřební koš. Nic stabilnějšího než váhovaná cena všeho zboží na trhu vymyslet nejde.
OK, díky za námět k přemýšlení.

Vůči zlatu, nebo vůči dolaru?  ;)
Cena se udává v dolarech.
V tom případě se nejedná o zvyšování ceny zlata, ale o devalvaci dolaru, ne? Zlato je stabilní, jen dolar zlevňuje. IMHO ukázkový příklad inflace (dolaru).

568
/dev/null / Re:Kam schovat peníze před inflací?
« kdy: 31. 05. 2020, 15:14:45 »
A kdyz FED zacne tisnout prachy, tak se samozrejme zacne cena zlata zvysovat.
Kdyz zacne FED tisknout prachy, zvedne se cena uplne vseho, mily Watsone :)
Vůči zlatu, nebo vůči dolaru?  ;)

569
/dev/null / Re:Kam schovat peníze před inflací?
« kdy: 31. 05. 2020, 15:13:37 »
Mimochodem, daleko, neporovnatelně stabilnější než zlato je třeba cena kakaa:

http://www.aboutinflation.com/cocoa-vs-inflation

Můj komentář: protože kakao má nějaký fundament. Narozdíl od zlata, které žádný nemá.

Mimochodem, oboje jsem zmiňoval už na začátku.

Úplně nejlepší by byla elektronická měna, která by se opírala o nějaký opravdu základní fundament (což ani kakao stále není). Nejlépe nějak uchopit lidskou práci, či co. Což přináší spoustu potíží - jak tu práci zhodnotit, a jak ji evidovat a jak ji kumulovat.

570
/dev/null / Re:Kam schovat peníze před inflací?
« kdy: 31. 05. 2020, 00:44:51 »
Ee, to je blbost. Ještě musím započítat, za jak dlouho ta kráva vyroste, kolik jich potřebuju, no, evidentně je to složitější.
Hlavně je to principielně zcela pomýlená úvaha :)

Jo, to už jsi říkal.

Stran: 1 ... 36 37 [38] 39 40 ... 133