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 - Ondra Satai Nekola

Stran: 1 ... 139 140 [141] 142 143 ... 177
2101
Vývoj / Re:Java a statické metody
« kdy: 22. 10. 2015, 19:24:05 »
Pokud chces praci, kde neni potreba myslet, tak programovani neni dobra volba. Ne ze by bylo potreba vzdycky znova vynalezat kolo, ale na druhou stranu - vazne je potreba jeden ze zakladnich prostredku jazyka odmitat jenom protoze jsi linej se zamyslet?

A samozrejme nahrazovani implementace nesouvisi s testovanim te veci unittesty, ale to je pocitam jenom spatna formulace a myslel jsi mockovani pri testech jinych veci?

2102
Vývoj / Re:Java a statické metody
« kdy: 22. 10. 2015, 17:35:34 »
Mně to spíś přijde jako braní javy jako záminky pro to si to pěkně overengineerovat. Na duhou stranu by takovéhle nenapadalo programátory, kde jsou first class nebo alespoň top level funkce.

Neřekl bych při tvorbě nějakého echtobecného veřejného API, ale dokud člověk může případně zobecnění dodat za pochodu (což většinou může).

2103
Vývoj / Re:Java a statické metody
« kdy: 22. 10. 2015, 15:48:44 »

2104
Vývoj / Re:Java a statické metody
« kdy: 22. 10. 2015, 14:07:56 »
Coz plati pro cokoli z java.util, java.lanf, javax atd, atp.

2105
Vývoj / Re:Java a statické metody
« kdy: 22. 10. 2015, 08:26:50 »
Ahoj,
 mam takovy dotaz. V Jave jsem zacatecnik a chtel bych se zeptat. Jak se spravne v Jave resi nake metody typu "utils". Proste metody, ktere delaji ruzne transformace nad datama. A fakt si nepotrebuji drzet zadne stavy ani dalsi informace.

Vracím se k původnímu dotazu, protože většina odpovědí se stáčí ke statickým metodám a singletonům, což rozhodně nepatří k best practices.

Transformaci nad daty uděláš nejlépe tak, že napíšeš normální metody, které přidáš do třídy, ve které se staráš o ta data. Tím se vyhneš všem getterům, setterům, singletonům a dalším zvěrstvům, které nemají s OOP nic společného.

Zníš jako strejda Bob před deseti lety. Dneska už to taky vidí jinak.

2106
Vývoj / Re:Java a statické metody
« kdy: 20. 10. 2015, 14:11:02 »

Normálně to právě vím. A připadá mi mnohem lepší zápis Math.max(a, b), než když vidím napsáno jenom max(a, b) a musím pátrat po tom, zda je to Math.max(a, b) nebo VectorUtils.max(a, b) nebo ještě něco jiného.

Kdyz ctes logiku kodu, tak ti to muze byt pro prvni cteni jedno a pak staci kouknout na typy nebo prinejhorsim najet mysitkem...

2107
Server / Re:Stavba domácího NAS
« kdy: 20. 10. 2015, 13:34:01 »
V jedné recenzi na Microserver Gen8 bylo v mínusech "Could be quieter", možná je to kusem, možná to každý vnímá jinak.

Pred casem jsme jeden placli do kancelare. Dotycny s tim byl spokojeny, trebas ja bych to nebral.

2108
Vývoj / Re:Java a statické metody
« kdy: 20. 10. 2015, 13:22:47 »
Podle mne statické importy obvykle kód znepřehledňují, protože nevím, odkud se ta metoda bere…

Jako bys to normalne vedel. Pozdni vazba skoro vsude, takze stejne musis spolehat na nejakou dalsi znalost. Nemluve o tom, ze zrovna u statickych importu je podpora v IDE prikladna. Samozrejme muzes psat
Kód: [Vybrat]
Math.max(a,b)
misto
Kód: [Vybrat]
max(a,b),
nebo
Kód: [Vybrat]
VectorUtils.sum(a,b)
misto
Kód: [Vybrat]
sum(a,b)
ale ja osobne v tom vyhodu nevidim. (jinak pro jistotu: urcite se najde i situace, kdy je lepsi se kvuli stylu static importu vyhnout, ale osobne bych ho bral jako defaultni reseni)

2109
Vývoj / Re:Java a statické metody
« kdy: 20. 10. 2015, 12:53:34 »
s osmickou jsou staticke metody celkem obstojne nahrazky funkci
Předpokládám, že vám jde o lambda výrazy – a tam je použití instanční metody úplně stejné, jako použití statické metody. Takže tohle není argument na podporu statických metod.

Spolu se statickymi importy dostanes o neco citelnejsi kod. Ja bych v tomhle byl pragmatik - pokud je to pure (nebo skoro pure, trebas logovani se da osolichat i jinak) a neni to navazane na konkretni data (kde jasne dava smysl instancni metoda), tak bych se statickych metod nezrikal. Ostatne kdyz se pouzivaji takhle zaroven to signalizuje i ucel.

Takze jako obvykle - resil bych to pripad od pripadu.

2110
Vývoj / Re:Java a statické metody
« kdy: 20. 10. 2015, 12:29:33 »
Ahoj,
 mam takovy dotaz. V Jave jsem zacatecnik a chtel bych se zeptat. Jak se spravne v Jave resi nake metody typu "utils". Proste metody, ktere delaji ruzne transformace nad datama. A fakt si nepotrebuji drzet zadne stavy ani dalsi informace.

Predpokladam ze staticke metody? Co trida, ktera obsahuje jen takovou kupu metod? Trida nelze udelat staticka(teda top-level trida),
muzu samozrejme zabranit vytvoreni instance(coz je logicke - ty instance fakt nemaji smysl).

Typickou třídou, která obsahuje jen statické metody, je například Math. Nic neukládá, nic neloguje. Pokud v té své třídě potřebuješ logovat, bylo by vhodné to logování vložit jako parametr konstruktoru - tím pádem už nebudeš mít statickou třídu, ale normální objekt. Metody také nebudou statické, ale klasicky instanční.

Používání statických tříd a metod v Javě fakt nemá valného smyslu - pouze deformují tvůj pohled na řešený problém a bude tě to svádět k procedurálnímu řešení. Udělej to jako normální plnohodnotné objekty a nauč se programovat objektově.

Jeste jednou - fanda nejsem. Ale OOP neni vsechno a s osmickou jsou staticke metody celkem obstojne nahrazky funkci.

Predat logovani do konstruktoru neni zdaleka jedina moznost, jak to finalne vyresit.

2111
Vývoj / Re:Java a statické metody
« kdy: 20. 10. 2015, 11:12:47 »
Nejsem fanda, ale jeste je potreba statickym metodam dat k dobru
- import static
- v osmicce se celkem citelne pouzivaji reference na ne

A drobne varovani:
Kdysi podobne veci lide resivali i statickymi metodami v interface, cimz se efektivne branilo tvorbe instanci. Do namespace pak misto import static dostavali ty metody pomoci implements. To je dneska povazovano za antipattern.

2112
Vývoj / Re:Java a statické metody
« kdy: 20. 10. 2015, 08:36:02 »
Ano, opravdu se to tak řeší.

Problém budeš mít v testech, volání takových metod se blbě mockuje. Pokud nemají sideefecty a jenom (čistě ve smyslu FP) transformují data, dá se s tím asi  žít, záleží na dalších okolnostech.

2114
j prohlasi nekoho za kretena... check. To uz si pomalu zaslouzi prohlasit za prirodni zakon.

2115
Hardware / Re:SSD do notebooku s Arch Linuxem
« kdy: 11. 10. 2015, 10:48:44 »
super :) kde jsou nejaka konkretni cisla ? krome blabla podivej se jak testuje nejakej indian bla bla samsung je super ( o 2/3 drazsi nez ten adata) nic. Slusna sbirka expertu :)

Podívej se, jak testuje Anandtech, řeknu ti ještě jednou. Svou metodiku vysvětlují a na rozdíl od tvého postupu dává smysl. (Čímž neříkám, že je zrovna tenhle adata špatný, netuším. Co tvrdím je to, že tvoje hausnumera nic důležitého k tématu neříkají.)

Stran: 1 ... 139 140 [141] 142 143 ... 177