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

Stran: 1 ... 18 19 [20] 21 22 ... 47
286
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 21:24:18 »


Me prijde, ze by si spis zaslouzil smazat.... :-)

Jasny, kdyz nevim, co to dela, tak to smazu :-))

Nadsazka....
Chtel by refactoring...
Funce tak na 5 radku tops... a poradny jmena

Našel jsem originál napsaný v R a ten ty komentáře má. Ovšem má tam i zcela zbytečnou proměnnou observationWeights, která ten kód tak mlží.

287
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 21:05:38 »
...

Me prijde, ze by si spis zaslouzil smazat.... :-)

Teď jsem to chtěl napsat, ale předběhl jsi mne. Je to fakt hnus.

288
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 20:05:23 »
U komentářů výše jasně píšu, že za normálních okolností jsou šum - když se člověk v nějakém kódu pohybuje denně. Pokud něco nemáš v hlavě a z kódu to snadno nevyčteš, je z šumu rázem signál. To je asi tak odpověď na Tvoje dvě otázky - proč jsou komentáře a proč jsou komentáře vizuálně potlačeny.

Všechno to v diskusi už zaznělo.

To znamena, ze za normalnich okolnosti jsou komentare na obtiz?
Takze pisu komentare kvuli nenormalnim okolnostem protoze me to jednou vytahne z bryndy, i kdyz vim, ze se kvuli tomu musim denno denne brodit sumem?

Komentáře by nebyly na obtíž, kdyby to skutečně byly komentáře. V drtivé většině případů jsou však jen šumem, který zhoršuje čitelnost kódu. Proto je třeba je potlačit.

289
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 19:51:23 »
v Utils.py se mi nejvic libi komentar:
Kód: [Vybrat]
def url_is_absolute(url):
    """Determine whether a given URL is absolute"""

Jsou tam i jiné výživné komponenty
Kód: [Vybrat]
try:
    os.lstat(path)
except OSError:
    return False
return True

290
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 19:39:20 »
Základ jsou docstringy k metodám a třídám.

K čemu jsou docstringy, když mám parametry i návratové hodnoty řádně otypovány?

291
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 17:43:42 »
Co sem si vsimnul tak vetsina barevnych schemat do IDE a editoru se snazi nejak potlacit komentare aby nebyli tolik videt.
Rikam si... procpak asi?

Nejen v IDE, komentáře mám potlačeny i ve Vimu. Nevzpomínám si, že by mi byly někdy k užitku. Pohled do kódu mi řekne mnohem víc, rychleji a na rozdíl od komentářů vidím přesně, co ten kód dělá a nedělá.

292
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 15:50:24 »
Tak náhodně :
https://github.com/unclebob/fitnesse/blob/master/src/fitnesse/testrunner/CompositeFormatter.java Nějaký listener, který distribuuje ty události dál. Akorát jsem tam nenašel nic, co by vypadalo jako formátování.
https://github.com/unclebob/fitnesse/blob/master/src/fitnesse/testrunner/ClassPathBuilder.java Podle názvu sestavuje nejaké cesty k nějakým třídám. Jaké cesty k jakým třídám? Takhle by to mohl být skoro SomethingDoer a vyšlo by to na stejno.

Mohl bych pokračovat dál a dál. Snažil jsem se být férový a najít nějakou výjimku, ale nenašel jsem nic. Nenašel jsem jedinou třídu, o které bych byl schopný vlastními slovy říct, co vlastně dělá. Jedná každá třída v tom projektu postrádá stručný komentář, který by říkal k čemu slouží. A z kódu jsem to nepoznal.

Představa, že bych měl tenhle kód udržovat, mě upřímně děsí.

Jsem rád, že nejsem sám, kdo se v tom ztratil. Podotýkám, že nejsem javista a nevěnoval jsem tomu moc času, ale tohle mít ve firemním repozitáři, asi bych se dost vyděsil. Komentáře jsem nenašel prakticky žádné, když nepočítám 6 řádků copyright v každém souboru. A když ano, bylo to něco jako:


Kód: [Vybrat]
// REFACTOR The fixture path is really the only part of this

Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

293
Vývoj / Re:Abstrakce u OOP
« kdy: 11. 06. 2020, 21:50:38 »
Jak python pro větší projekty nemám rád, tak zrovna jeho mixiny jsou velice užitečné a v javě je kostrbatě emulujeme defaultními metodami interfaců.

V čem je to kostrbaté? Možná jen v tom, že se míchá něco, co se míchat nemá.

294
Vývoj / Re:Abstrakce u OOP
« kdy: 11. 06. 2020, 21:26:14 »
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í.

Přehledné to moc není. Určitě bych se vícenásobné dědičnosti vyhnul.

295
Vývoj / Re:Abstrakce u OOP
« kdy: 11. 06. 2020, 16:46:38 »
Slovní komentáře jsou prakticky nenahraditelné pro dovysvětlení záměru nebo kontextu.

V čem jsou slovní komentáře nenahraditelné? Od toho tu jsou přece názvy věcí, aby vysvětlily vše potřebné.

Ony vysvětlí, proč jsi použil bubble sort namísto quick sortu, viď. Nebo proč nějaký vstup od 3. strany ošetřuješ zrovna takhle, když posílá jiný formát odpovědi, než říká dokumentace.

To patří spíš do dokumentace, ne?

296
Vývoj / Re:Abstrakce u OOP
« kdy: 11. 06. 2020, 16:02:55 »
Slovní komentáře jsou prakticky nenahraditelné pro dovysvětlení záměru nebo kontextu.

V čem jsou slovní komentáře nenahraditelné? Od toho tu jsou přece názvy věcí, aby vysvětlily vše potřebné.

297
Vývoj / Re:Abstrakce u OOP
« kdy: 11. 06. 2020, 12:35:32 »
Tak existuje klasické pravidlo, zda objekt IS nebo objekt HAS.

casto neni ani jedno, co treba mixiny? Je to dedeni, ale pouzivaji se treba pro pridavani atributu do trid.

pokusy o slovni popisy vyznamu kodu nefunguji.

Mixiny dělají akorát bordel v kódu. Snadno se píší, ale blbě se čtou. Přitom se dají jednoduše nahradit kompozicí.

298
Vývoj / Re:Abstrakce u OOP
« kdy: 11. 06. 2020, 11:52:33 »
Obrovskou výhodou správně použité dědičnosti je vzájemná zaměnitelnost předka s potomky. Když mi jeden potomek nevyhovuje, tak místo něj použiji jiného. Zbytku aplikace se to nijak nedotkne, nemusím nic přepisovat. V případě programování proti interface je to ještě jednodušší a čitelnější, odpadá problém diamantu.

299
Vývoj / Re:Abstrakce u OOP
« kdy: 10. 06. 2020, 19:32:41 »
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.

Code reuse nesmí být jediným důvodem pro použití dědičnosti. Potomek musí být specializací předka.

300
Studium a uplatnění / Re:Základy programování
« kdy: 29. 05. 2020, 15:47:50 »
Pro matematika bych doporučil Python jako jazyk první volby. Po instalaci ho můžeš hned začít používat, třeba i místo kalkulačky.

Stran: 1 ... 18 19 [20] 21 22 ... 47