Postřehy ohledně architektury JavaScriptu

Kit

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #300 kdy: 30. 08. 2016, 15:13:47 »
To platí jen pro privátní gettery/settery.
Mýliš se, platí to i pro public gettery a settery. Po pravdě Kite, mě to už moc nebaví. Nemáš moc představu o časové složitosti, nevíš na jaký kód co vede, ale jedeš si svoji mantru každý gettery/setter je špatný. Pro mě za mě si to dělej jak chceš, ale necpi to prosím ostatním.

Gettery ani settery prostě do OOP nepatří. Tečka.


v

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #301 kdy: 30. 08. 2016, 15:30:49 »
To platí jen pro privátní gettery/settery.
Mýliš se, platí to i pro public gettery a settery. Po pravdě Kite, mě to už moc nebaví. Nemáš moc představu o časové složitosti, nevíš na jaký kód co vede, ale jedeš si svoji mantru každý gettery/setter je špatný. Pro mě za mě si to dělej jak chceš, ale necpi to prosím ostatním.

Gettery ani settery prostě do OOP nepatří. Tečka.
a nějaký argument by nebyl? výkon to nebude a "já to tak dělám a funguje mi to" není nic moc argument

SB

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #302 kdy: 30. 08. 2016, 15:40:38 »
...Vedeš tady svatou válku proti getterům a setterům, ale ony se v praxi používají, protože nikdo zatím nic lepšího nevymyslel... ...měl bys je tam taky, protože to prostě funguje nejlíp. Bez getterů a setterů by to šlo udělat, ale bude to horší. Jak z hlediska výkonu, tak z hlediska udržovatelnosti kódu...

Prosímvás, mohl by mi tady konečně někdo vysvětlit, co si místní diskutující představují pod termíny getter a setter? Pořád mám pocit, že je to něco sice magického a zakázaného, ale děsně to zrychlí aplikaci, když se to tam dá. Přitom jsem si vždy myslel, že se jedná pouze o luxusní název pro obyčejné, prašivé metody (často s cukrovou syntaxí pro trupky), přes které tečou informace z a do objektu. Možná by nebylo od věci připojit informaci, ke kterému že to zprasenému jazyku se ono provedení getterů a setterů vztahuje.
Děkuji velice za vysvětlení.

gamer

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #303 kdy: 30. 08. 2016, 15:47:42 »
Prosímvás, mohl by mi tady konečně někdo vysvětlit, co si místní diskutující představují pod termíny getter a setter? Pořád mám pocit, že je to něco sice magického a zakázaného, ale děsně to zrychlí aplikaci, když se to tam dá. Přitom jsem si vždy myslel, že se jedná pouze o luxusní název pro obyčejné, prašivé metody (často s cukrovou syntaxí pro trupky), přes které tečou informace z a do objektu. Možná by nebylo od věci připojit informaci, ke kterému že to zprasenému jazyku se ono provedení getterů a setterů vztahuje.
Děkuji velice za vysvětlení.

Dobře víš, o co se jedná, ale chceš rozpoutat další flame na téma C++ (Java, C#, Python...) nejsou objektové jazyky, správně je to jedině ve Smalltalku a vy všichni, co nepoužíváte Smalltalk, jste jen pojídači koláčů. Promiň, ale toho se nehodlám účastnit.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #304 kdy: 30. 08. 2016, 15:50:45 »
...Vedeš tady svatou válku proti getterům a setterům, ale ony se v praxi používají, protože nikdo zatím nic lepšího nevymyslel... ...měl bys je tam taky, protože to prostě funguje nejlíp. Bez getterů a setterů by to šlo udělat, ale bude to horší. Jak z hlediska výkonu, tak z hlediska udržovatelnosti kódu...

Prosímvás, mohl by mi tady konečně někdo vysvětlit, co si místní diskutující představují pod termíny getter a setter? Pořád mám pocit, že je to něco sice magického a zakázaného, ale děsně to zrychlí aplikaci, když se to tam dá. Přitom jsem si vždy myslel, že se jedná pouze o luxusní název pro obyčejné, prašivé metody (často s cukrovou syntaxí pro trupky), přes které tečou informace z a do objektu. Možná by nebylo od věci připojit informaci, ke kterému že to zprasenému jazyku se ono provedení getterů a setterů vztahuje.
Děkuji velice za vysvětlení.

Nevím, zda se mi to podaří dostatečně objasnit, protože přeci jen, nemá ty zkušenosti, ale zkusím to.

Gettery a Settery jsou specielní zařízení, které slouží k naplnění nějakého objektu. Cíl je ten, aby to bylo pěkně rozmístěné. Na jednom místě si vytvoříš objekt. To je něco jako avizo na místo (velice drahá operace, proto má samostatnou kolonku). Pak přejdeš na jiné místo, kde pomocí setterů nastavíš tomu objektu nějaká data. Tím, jak je na každý prvek extra setter - metoda, tak to zásadně zpřehlední a pomůže to tomu, aby si na žádný povinný prvek nezapoměl.

Důležité je toto (vytváření a plnění) explicitně rozlišovat. To kůli výkonu.

Jak už tu někteří zmínili, velice příjemným vedlejším efektem je, že když se ti to na z nějakého důvodu nepovede (myšleno nastavení toho objektu pomocí setteru), tak to můžeš zkusit znova, případně i do třetice.

Další skvělou vlastností je, že když potřebuješ objektu přidat nějakou povinnou závislost, nějaký atribut, tak prostě jen přidáš dvě nové metody, setter/getter, a už jen všude dohledáš, kde se to nastavuje. A máš to.

Prostě díky setterům uděláš dobrou práci. Je to skvělý.


v

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #305 kdy: 30. 08. 2016, 15:56:55 »
...Vedeš tady svatou válku proti getterům a setterům, ale ony se v praxi používají, protože nikdo zatím nic lepšího nevymyslel... ...měl bys je tam taky, protože to prostě funguje nejlíp. Bez getterů a setterů by to šlo udělat, ale bude to horší. Jak z hlediska výkonu, tak z hlediska udržovatelnosti kódu...

Prosímvás, mohl by mi tady konečně někdo vysvětlit, co si místní diskutující představují pod termíny getter a setter? Pořád mám pocit, že je to něco sice magického a zakázaného, ale děsně to zrychlí aplikaci, když se to tam dá. Přitom jsem si vždy myslel, že se jedná pouze o luxusní název pro obyčejné, prašivé metody (často s cukrovou syntaxí pro trupky), přes které tečou informace z a do objektu. Možná by nebylo od věci připojit informaci, ke kterému že to zprasenému jazyku se ono provedení getterů a setterů vztahuje.
Děkuji velice za vysvětlení.
napsal jste to  IMHO celkem dobře, jenom dvě výtky, nikdo, myslím, netvrdil, že to něco zrychlí a pak jste nezmínil, že se používají kvůli tzv. zapouzdření

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #306 kdy: 30. 08. 2016, 16:15:41 »
Ale prosímtě? Herní enginy samozřejmě objektové jsou, jak navenek, tak uvnitř. Nicméně pokud chceš řešit definici toho "jediného správného (TM) objektového programování" podle balkiho, Kita, já nevím koho... tak z toho mě prosím vynech, na nesmysly nemám čas.
Mam cim dal vetsi pocit, ze OOP bylo vymysleno jenom proto, aby se lidi mohli hadat o to, co je spravny OOP navrh. Takovehle zabomysi valky jsem kolem zadneho jineho paradihmatu nezazil...

v

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #307 kdy: 30. 08. 2016, 16:17:58 »
Ale prosímtě? Herní enginy samozřejmě objektové jsou, jak navenek, tak uvnitř. Nicméně pokud chceš řešit definici toho "jediného správného (TM) objektového programování" podle balkiho, Kita, já nevím koho... tak z toho mě prosím vynech, na nesmysly nemám čas.
Mam cim dal vetsi pocit, ze OOP bylo vymysleno jenom proto, aby se lidi mohli hadat o to, co je spravny OOP navrh. Takovehle zabomysi valky jsem kolem zadneho jineho paradihmatu nezazil...
žejo?

j

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #308 kdy: 30. 08. 2016, 16:29:01 »
Ale prosímtě? Herní enginy samozřejmě objektové jsou, jak navenek, tak uvnitř. Nicméně pokud chceš řešit definici toho "jediného správného (TM) objektového programování" podle balkiho, Kita, já nevím koho... tak z toho mě prosím vynech, na nesmysly nemám čas.
Mam cim dal vetsi pocit, ze OOP bylo vymysleno jenom proto, aby se lidi mohli hadat o to, co je spravny OOP navrh. Takovehle zabomysi valky jsem kolem zadneho jineho paradihmatu nezazil...
A taky proto, aby se novej HW dobre prodaval, protoze nikdy sem nevidel zprasenejsi kousky kodu, nez prave ty "OOP exclusive". Vetsina tvurcu totiz nema ani paru, co se stim, jejich kodem nasledne deje.

Ivan Nový

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #309 kdy: 30. 08. 2016, 17:10:16 »
Ale prosímtě? Herní enginy samozřejmě objektové jsou, jak navenek, tak uvnitř. Nicméně pokud chceš řešit definici toho "jediného správného (TM) objektového programování" podle balkiho, Kita, já nevím koho... tak z toho mě prosím vynech, na nesmysly nemám čas.
Mam cim dal vetsi pocit, ze OOP bylo vymysleno jenom proto, aby se lidi mohli hadat o to, co je spravny OOP navrh. Takovehle zabomysi valky jsem kolem zadneho jineho paradihmatu nezazil...
A taky proto, aby se novej HW dobre prodaval, protoze nikdy sem nevidel zprasenejsi kousky kodu, nez prave ty "OOP exclusive". Vetsina tvurcu totiz nema ani paru, co se stim, jejich kodem nasledne deje.
Kolem strukturovaného programováná byly ty samé, assembler versus C jakbysmet.

Ivan Nový

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #310 kdy: 30. 08. 2016, 17:13:15 »
...Vedeš tady svatou válku proti getterům a setterům, ale ony se v praxi používají, protože nikdo zatím nic lepšího nevymyslel... ...měl bys je tam taky, protože to prostě funguje nejlíp. Bez getterů a setterů by to šlo udělat, ale bude to horší. Jak z hlediska výkonu, tak z hlediska udržovatelnosti kódu...

Prosímvás, mohl by mi tady konečně někdo vysvětlit, co si místní diskutující představují pod termíny getter a setter? Pořád mám pocit, že je to něco sice magického a zakázaného, ale děsně to zrychlí aplikaci, když se to tam dá. Přitom jsem si vždy myslel, že se jedná pouze o luxusní název pro obyčejné, prašivé metody (často s cukrovou syntaxí pro trupky), přes které tečou informace z a do objektu. Možná by nebylo od věci připojit informaci, ke kterému že to zprasenému jazyku se ono provedení getterů a setterů vztahuje.
Děkuji velice za vysvětlení.
To je ono, vtip je v tom, že tudy ty informace téct nemají.

SB

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #311 kdy: 30. 08. 2016, 17:14:06 »
Dobře víš, o co se jedná, ale chceš rozpoutat další flame na téma C++ (Java, C#, Python...) nejsou objektové jazyky, správně je to jedině ve Smalltalku a vy všichni, co nepoužíváte Smalltalk, jste jen pojídači koláčů. Promiň, ale toho se nehodlám účastnit.

Já vím, o co se jedná, ale nevím, co myslíte vy všichni. Takže jednodušeji: Čím se liší gettery/settery od metod (vynechte pojednání o způsobu zápisu, jde mi o funkcionalitu, neboli co to má dělat).

SB

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #312 kdy: 30. 08. 2016, 17:16:34 »

Nevím, zda se mi to podaří dostatečně objasnit, protože přeci jen, nemá ty zkušenosti, ale zkusím to.

Gettery a Settery jsou specielní zařízení, které slouží k naplnění nějakého objektu. Cíl je ten, aby to bylo pěkně rozmístěné. Na jednom místě si vytvoříš objekt. To je něco jako avizo na místo (velice drahá operace, proto má samostatnou kolonku). Pak přejdeš na jiné místo, kde pomocí setterů nastavíš tomu objektu nějaká data. Tím, jak je na každý prvek extra setter - metoda, tak to zásadně zpřehlední a pomůže to tomu, aby si na žádný povinný prvek nezapoměl.

Důležité je toto (vytváření a plnění) explicitně rozlišovat. To kůli výkonu.

Jak už tu někteří zmínili, velice příjemným vedlejším efektem je, že když se ti to na z nějakého důvodu nepovede (myšleno nastavení toho objektu pomocí setteru), tak to můžeš zkusit znova, případně i do třetice.

Další skvělou vlastností je, že když potřebuješ objektu přidat nějakou povinnou závislost, nějaký atribut, tak prostě jen přidáš dvě nové metody, setter/getter, a už jen všude dohledáš, kde se to nastavuje. A máš to.

Prostě díky setterům uděláš dobrou práci. Je to skvělý.

Supr. A metody to samé nezvládnou?

SB

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #313 kdy: 30. 08. 2016, 17:18:53 »
napsal jste to  IMHO celkem dobře, jenom dvě výtky, nikdo, myslím, netvrdil, že to něco zrychlí a pak jste nezmínil, že se používají kvůli tzv. zapouzdření

Ano, to jsem asi taky nepochopil, zda se to má teda jako zrychlit, nebo zpomalit.
To ale metody taky.

v

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #314 kdy: 30. 08. 2016, 17:22:54 »
Dobře víš, o co se jedná, ale chceš rozpoutat další flame na téma C++ (Java, C#, Python...) nejsou objektové jazyky, správně je to jedině ve Smalltalku a vy všichni, co nepoužíváte Smalltalk, jste jen pojídači koláčů. Promiň, ale toho se nehodlám účastnit.

Já vím, o co se jedná, ale nevím, co myslíte vy všichni. Takže jednodušeji: Čím se liší gettery/settery od metod (vynechte pojednání o způsobu zápisu, jde mi o funkcionalitu, neboli co to má dělat).
getter/setter je zvláštní případ metody