Pravidla pro pojmenování proměnných

perceptron

Re:Pravidla pro pojmenování proměnných
« Odpověď #150 kdy: 06. 11. 2016, 13:30:26 »
Citace
Kdybych tohle skutečně udělal, což je nepravděpodobné, mohl bych říct jen tohle:

aha takze ked presunom nebreakujete metody

znamena to ze takto nerefactorujete.

takze ste hovorili o niecom co nepouzivate? /ak by ste to robili, ste [censored] ako vo videu/?
 
takze cely cas placate blbosti?
---

a co s tym pretazovanim ktore to kolegovia (neexistujuci) beru ako skvele riesenei? to tiez nepouzivate?

a co s tymi pretazenymi metody?

a kolko mate ludi na projekte?


Kit

Re:Pravidla pro pojmenování proměnných
« Odpověď #151 kdy: 06. 11. 2016, 13:30:48 »
1 co ste v tom mojom priklade opravili?
2 akym konkretnym sposobom "nejdrive prece vyresim zavislosti" co ste tvrdili vyssie?
3 naozaj refaktorujete vo vime presun metody tym ze rucne prepisete referencie na metodu ktoru presuniete?
4 kolko mate kolegov na projekte?

1. Název metody.
2. Závislostem se předem vyhýbám. V tom mi vydatně pomáhá TDD.
3. V každém editoru a v každém IDE se to dělá ručně. Jen postupy se liší.
4. Tolik, kolik jich na to stačí.

javaman ((

Re:Pravidla pro pojmenování proměnných
« Odpověď #152 kdy: 06. 11. 2016, 13:31:21 »
Proč mít různé názvy metod, když můžeš mít jeden název třicetkrát přetížený :D A co na to říkají kolegové?

Například v Haskellu je toto řešení naprosto běžné, navíc v horším provedení (hraje roli pořadí) a nikdo se nad tím nepozastavuje. Přetěžování je pro objektové jazyky korektním řešením. Podstatné je zachování sémantiky.

Kolegové jsou zvyklí a zpravidla to berou jako skvělé řešení, které jim zjednoduší spoustu práce.

Možná proto je Haskell tak rozšířený :D Přetěžování skoro nepoužívám, proto jsem rád, že jsi mi ho připomněl. Mám raději dobré názvy metod.

Jen abys jediný kolega nebyl ty :D

perceptron

Re:Pravidla pro pojmenování proměnných
« Odpověď #153 kdy: 06. 11. 2016, 13:42:47 »
Citace
1. Název metody.
a co poviete k tomu ze ste stale premenovanim a presunom do novej triedy /pamatujete, "Rozdělení jedné třídy na dvě je záležitostí několika okamžiků."/ breakli triedu a podtriedy?

Citace
Tolik, kolik jich na to stačí.
je to 0?

Citace
Závislostem se předem vyhýbám. V tom mi vydatně pomáhá TDD
aha takze vam tdd pomaha v tom aby metody nevolali ine metody? ak metodu nik nevola mozno ju presunut do inej triedy vo vime a nic sa nepokazi?


Citace
3. V každém editoru a v každém IDE se to dělá ručně. Jen postupy se liší.
postupy sa lisia. v niektorych ide je to otazka 5 klikov na cely projekt bez ohlasu na velkost

vo vasom priklade s vim je to jednak nekoretne /vid bod 1/ a a jednak pracne

navyse je v spore s vasim odvaznym tvrdenim ze "Rozdělení jedné třídy na dvě je záležitostí několika okamžiků."


Citace
2..
eugene ionesco: programatori /absurdna jednoaktovka/.

hrajI: satai, kit, perceptron


satai: Jinymi slovy umis vyresit trivialni problem a o tom poradnem se tvaris, ze neni dulezity :-D
kit: Nejdříve přece vyřeším závislosti a pak mi z toho zbude jen takový triviální přesun.
perceptron: akym konkretnym sposobom "nejdrive prece vyresim zavislosti"
kit: Závislostem se předem vyhýbám. V tom mi vydatně pomáhá TDD

Kit

Re:Pravidla pro pojmenování proměnných
« Odpověď #154 kdy: 06. 11. 2016, 13:44:31 »
aha takze ked presunom nebreakujete metody
znamena to ze takto nerefactorujete.

Přesunuji jen takové metody, na které v projektu dosud nevznikly závislosti. Závislosti jsou podchyceny v rozhraní. Modul, ve kterém by uvedená závislost byla, by ani neprošel kompilací, natož jednotkovým testem. Mezi třídami dělám vždy tak volné vazby, jak je to jen možné. Většina modifikací ve třídách se tak dělá zcela izolovaně od okolí a nemá na něj vliv.

Démétér dobře ví, proč se baví jen s přáteli.


perceptron

Re:Pravidla pro pojmenování proměnných
« Odpověď #155 kdy: 06. 11. 2016, 13:45:40 »
ja len for the record tu dam best of this thread

Citace
* Vim se také ovládá jen klávesnicí a proti IDE má hromadu věcí navíc.
* V každém editoru a v každém IDE se [refactoring] dělá ručně. Jen postupy se liší.
* Dělám refaktoring zcela běžně. Jen do toho nepočítám přejmenovávání metod.
* Rozdělení jedné třídy na dvě je záležitostí několika okamžiků. [Ve vimu] x :sp newClassName p
* Závislostem [mezi metodami] se předem vyhýbám. V tom mi vydatně pomáhá TDD

Kit

Re:Pravidla pro pojmenování proměnných
« Odpověď #156 kdy: 06. 11. 2016, 14:04:29 »
Mám raději dobré názvy metod.

To já také. Proto volím krátké a výstižné názvy, zpravidla sloveso.

perceptron

Re:Pravidla pro pojmenování proměnných
« Odpověď #157 kdy: 06. 11. 2016, 14:18:35 »
Citace
Přesunuji jen takové metody, na které v projektu dosud nevznikly závislosti. Závislosti jsou podchyceny v rozhraní.

metoda na ktorej nevznikla zavislost je teda taka ktoru nikto nevola. to znamena ze vase magicke vim-fu funguje tiez len vtedy ak odstranite metodu ktore ste napisali pred minutou este ste ju nikde nepouzili. zbuildujete. failnete. date si undo.

a presuvate bez problemov len ak je to fungl nova metoda

takze Přesunuji jen takové metody, na které v projektu dosud nevznikly závislosti takze ich nepresuvate nikdy. takze nerefaktorujete

uznavate ze moj priklad ste opravili zle. teda vas vim-fu sa neda pouzit.

ak to funguje tak resunuiete. zbuildujete. failnete. date si undo.

takze ste si popreli vyrok ze "Rozdělení jedné třídy na dvě je záležitostí několika okamžiků."

dalej zavislosti.
Citace
Závislosti jsou podchyceny v rozhraní

moment ale to nemozete zmenit lebo Pro rozhraní přece platí pravidlo, že ho smíš rozšířit, ale nesmíš ho změnit.

kde sa stala chyba vo vasich uvahach?
---

mate teda styri vyroky ktore su bludy.

alebo vas oblubeny trik ze "ja refaktorujem" [o tri posty] "ale to nesmie byt premenovanie" [o dva posty] "a metoda nesmie mat zavislosti"

Citace
Démétér dobře ví, proč se baví jen s přáteli.
vy nie ste demeter. vy ste iny starogrecky kral

augias.

perceptron

Re:Pravidla pro pojmenování proměnných
« Odpověď #158 kdy: 06. 11. 2016, 14:20:08 »
jo a aby sme nezabudli: kolko ludi je potrebnych na vasom projekte?

javaman ((

Re:Pravidla pro pojmenování proměnných
« Odpověď #159 kdy: 06. 11. 2016, 14:22:23 »
jo a aby sme nezabudli: kolko ludi je potrebnych na vasom projekte?

+ A jak se přebírá po nich práce? Jak celkově dohromady pracujete, jestli bys mohl popsat.

Re:Pravidla pro pojmenování proměnných
« Odpověď #160 kdy: 06. 11. 2016, 16:14:11 »
satai: Jinymi slovy umis vyresit trivialni problem a o tom poradnem se tvaris, ze neni dulezity :-D
kit: Nejdříve přece vyřeším závislosti a pak mi z toho zbude jen takový triviální přesun.
perceptron: akym konkretnym sposobom "nejdrive prece vyresim zavislosti"
kit: Závislostem se předem vyhýbám. V tom mi vydatně pomáhá TDD

kakadů, kakadů, kakadů, kakadů

Lama

Re:Pravidla pro pojmenování proměnných
« Odpověď #161 kdy: 06. 11. 2016, 17:27:46 »
Máš pemprs? Pemprs zůstanou suché i když se pokakadůkaž.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Pravidla pro pojmenování proměnných
« Odpověď #162 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:

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 :D.
« Poslední změna: 06. 11. 2016, 17:34:41 od noef »

Lama

Re:Pravidla pro pojmenování proměnných
« Odpověď #163 kdy: 06. 11. 2016, 17:49:43 »
Některé diskuse vypadají jako absurdní jednoaktovky od vejpitky Hejvla.

Re:Pravidla pro pojmenování proměnných
« Odpověď #164 kdy: 06. 11. 2016, 17:52:00 »
Máš pemprs? Pemprs zůstanou suché i když se pokakadůkaž.

Eugene Ionesco nic? :-/