226
Vývoj / Re:Pravidla pro pojmenování proměnných
« kdy: 06. 11. 2016, 17:32:28 »
Po tom vyroku, ze Vim toho umi vic, nez bezne IDE, jsem se rozmyslel nad tim, jestli to teda pro tu Javu nebo Scalu nezkusim, abych se treba neco priucil, co bych mohl vyvojarum z IDEA navrhnout jako novou feature. Kdyz ale ctu, jak ve Vimu "funguje" trivialni refaktorovani jmena metody... Je tedy krajne nepravdepodobne, ze Vim bude umet neco navic, kdyz vec, co IDE zvladaji roky (desetileti?) nevzlada.
K Haskellu a "pretezovani" - myslim, ze je to s Javou nesrovnatelne. V Jave bezne menite metodou stav objektu, metoda ma nejmene nekolik radku (dano rozvlacnou syntaxi), vetsinou spise desitky. Naopak v Haskellu IMO mivate spise velmi kratke funkce (na pocet radku), ve kterych se ale deje hodne (vysoka mira obstrakce, strucna syntaxe a operatory ze symbolu). Mate jasne dany vstup a vystup funkce. Dalsi vec je, ze v Haskellu snad pretezovani ani neni - tam nelze definovat fkci, ktera ma jiny typ, nez predhozi definice:
Take muzete pouzit guardy. To, cemu rikate "pretezovani" v Haskellu, spise slouzi jako ify v Jave - podle podoby parametru se vybere vetev, ktera se ma pouzit. Stezujete si snad u ifu, ze zalezi na pozici, kde je v kodu umisten?
PS: Jsem v Haskellu zelenac, tak snad nejsem uplne mimo
.
K Haskellu a "pretezovani" - myslim, ze je to s Javou nesrovnatelne. V Jave bezne menite metodou stav objektu, metoda ma nejmene nekolik radku (dano rozvlacnou syntaxi), vetsinou spise desitky. Naopak v Haskellu IMO mivate spise velmi kratke funkce (na pocet radku), ve kterych se ale deje hodne (vysoka mira obstrakce, strucna syntaxe a operatory ze symbolu). Mate jasne dany vstup a vystup funkce. Dalsi vec je, ze v Haskellu snad pretezovani ani neni - tam nelze definovat fkci, ktera ma jiny typ, nez predhozi definice:
Kód: [Vybrat]
a :: Int -> Int
a = (+) 1
a :: Int -> Int -> Int
a = (+)
main = do
print $ a 1
print $ a 1 2
Kód: [Vybrat]
[1 of 1] Compiling Main ( double_fn.hs, double_fn.o )
double_fn.hs:4:1:
Duplicate type signatures for ‘a’
at double_fn.hs:1:1
double_fn.hs:4:1
double_fn.hs:5:1:
Multiple declarations of ‘a’
Declared at: double_fn.hs:2:1
double_fn.hs:5:1
Take muzete pouzit guardy. To, cemu rikate "pretezovani" v Haskellu, spise slouzi jako ify v Jave - podle podoby parametru se vybere vetev, ktera se ma pouzit. Stezujete si snad u ifu, ze zalezi na pozici, kde je v kodu umisten?
PS: Jsem v Haskellu zelenac, tak snad nejsem uplne mimo
.
To se mi moc nezda, muzete to necim podlozit? Napr. vyvoj v Jave v IntelliJ IDEA vs ve Vimu - co presne ten Vim umi navic? Posledne, kdyz jsem popsal nejake zakladni refaktorovani, typu prejmenovani metody na vsech mistech pouziti (klidne ikdyz je pojmenovana stejne jako jina metoda v jinem rozhrani/tride), tak jsem se dozvedel, ze to Vim neumi a ze je stejne rychlejsi to provest rucne
.

.