Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Marek 03. 11. 2016, 09:24:31

Název: Pravidla pro pojmenování proměnných
Přispěvatel: Marek 03. 11. 2016, 09:24:31
Ahoj;
chtel bych se zeptat jak to mate s pojmenovavanim promennych + jaky je standart jak to delat, co jsem se dival na netu tak je v tom trochu bordel... 8) Napr. koukam na zdrojaky v C#, nekde maji soukrome slozky s podtrzitkem (int _a;) - ve skole na C++ nam zase rikali ze podtrzitko jedine za promennou protoze ty pred mohou kolidovat s typy vyhrazenymi pro prekladac kde je to tak implementovano. Jinde maji soukrome malymi pismeny a verejne slozky velkymi. Metody jestli to dobre chapu maji zacinat slovesem a malym pismenem na zacatku ve velbloudi notaci(getCount()), datova polozka ma byt podstatne/pridavne jmeno a typ bool zacinat Is/Can/Has? Mam v tom trochu chaos, kdyztak me opravte nebo vysvetlete... Diky MOC :) 
Název: Re:Pojmenovani promennych atd
Přispěvatel: Ivan Nový 03. 11. 2016, 09:39:06
Ahoj;
chtel bych se zeptat jak to mate s pojmenovavanim promennych + jaky je standart jak to delat, co jsem se dival na netu tak je v tom trochu bordel... 8) Napr. koukam na zdrojaky v C#, nekde maji soukrome slozky s podtrzitkem (int _a;) - ve skole na C++ nam zase rikali ze podtrzitko jedine za promennou protoze ty pred mohou kolidovat s typy vyhrazenymi pro prekladac kde je to tak implementovano. Jinde maji soukrome malymi pismeny a verejne slozky velkymi. Metody jestli to dobre chapu maji zacinat slovesem a malym pismenem na zacatku ve velbloudi notaci(getCount()), datova polozka ma byt podstatne/pridavne jmeno a typ bool zacinat Is/Can/Has? Mam v tom trochu chaos, kdyztak me opravte nebo vysvetlete... Diky MOC :)

Každý jazyk, ba co každý projekt má pravidla vlastní. Je třeba dodržovat ta pravidla, která platí v daném případě, žádná univerzální neexistují.
Název: Re:Pojmenovani promennych atd
Přispěvatel: Kit 03. 11. 2016, 10:23:21
Ahoj;
chtel bych se zeptat jak to mate s pojmenovavanim promennych + jaky je standart jak to delat, co jsem se dival na netu tak je v tom trochu bordel... 8) Napr. koukam na zdrojaky v C#, nekde maji soukrome slozky s podtrzitkem (int _a;) - ve skole na C++ nam zase rikali ze podtrzitko jedine za promennou protoze ty pred mohou kolidovat s typy vyhrazenymi pro prekladac kde je to tak implementovano. Jinde maji soukrome malymi pismeny a verejne slozky velkymi. Metody jestli to dobre chapu maji zacinat slovesem a malym pismenem na zacatku ve velbloudi notaci(getCount()), datova polozka ma byt podstatne/pridavne jmeno a typ bool zacinat Is/Can/Has? Mam v tom trochu chaos, kdyztak me opravte nebo vysvetlete... Diky MOC :)

Řešíš jeden z nejtěžších problémů programátorů - pojmenování věcí. Byla o tom napsána již spousta článků, každý trochu jinak a pro každý jazyk ještě jinak.

Privátní komponenty nijak neoznačuji, neboť je mívám všechny privátní. Velbloudí notace je dobrá, i když ji moc nepoužívám (identifikátory mám nejčastěji jednoslovní). Názvy metod mají začínat slovesem. Typu bool se vyhýbám, proto Is/Can/Has neřeším, ale v podstatě to také souhlasí.

Název interface by měl být přídavné jméno (je to popis vlastností).
Název: Re:Pojmenovani promennych atd
Přispěvatel: noef 03. 11. 2016, 10:30:14
Casto existuji nejake uznavane best practices pro dany jazyk (napr. TypeScript (https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines)) nebo i jen framework (napr. Angular 2 (https://angular.io/styleguide)). Ale vzhledem k tomu, ze to tema je znacne subjektivni, tak jak pise pan Ivan, nezridka existuji i konvence pro danou firmu, projekt ci modul.

Kupr. me se osobne celkem libi prefixovat interfacy pomoci I, ale je to povazovane (alespon v Java svete) za bad practise, tak jsem si zvykl to nedelat. Podobne "_" v JavaScriptu pro "privatni" promenne se nedoporucuje pouzivat, udajne proto, protoze JS zadne modif. pristupu nema. Pro konstanty byva tuhy souboj mezi SOME_CONSTANT a SomeConstant a someConstant. Diky podtrzitkum se nazvy se pry (podle vedecke studie) rychleji ctou. Osobne se mi libi konvence ve Scale - SomeConstant (someField, someVal, SomeClass).
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Pako 03. 11. 2016, 10:34:33
 Čistě pro inspiraci,  netvrdím že to je "správně" nebo "nejlíp" ale je to výsledek přemýšlení chytrých lidi: https://swift.org/documentation/api-design-guidelines/
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Trupik 03. 11. 2016, 11:00:17
A čo jazyk, v ktorom premenné a metódy nazývať? Nech robíme čokoľvek, skôr či neskôr skončíme u nás vo firme s tým, že niečo je po slovensky, a niečo po anglicky.  :( Keď začneme so slovenčinou, čoskoro sa ukáže, že angličtina má niektoré zaužívané slová, ktoré je ťažké nahradiť. A keď začneme s angličtinou, čoskoro narazíme na tak špecifické termíny biznis logiky, ktoré nemá zmysel prekladať, resp. ich prekladom sa kód stane menej prehľadným.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 12:04:36
A čo jazyk, v ktorom premenné a metódy nazývať? Nech robíme čokoľvek, skôr či neskôr skončíme u nás vo firme s tým, že niečo je po slovensky, a niečo po anglicky.  :( Keď začneme so slovenčinou, čoskoro sa ukáže, že angličtina má niektoré zaužívané slová, ktoré je ťažké nahradiť. A keď začneme s angličtinou, čoskoro narazíme na tak špecifické termíny biznis logiky, ktoré nemá zmysel prekladať, resp. ich prekladom sa kód stane menej prehľadným.

Z dotazu je patrné, že Marek preferuje angličtinu.

Obecně platí, že by se v jednom identifikátoru neměly míchat jazyky. Název metody getPocet() je tedy podle tohoto pravidla chybně.

Většinou to dělám tak, že komponenty v rozhraní (metody) mívám anglicky. Těch sloves není mnoho a jsou vcelku zažité. (add, insert, delete, update,...) Třídy a objekty mám česky.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 03. 11. 2016, 12:05:52
U nas se strikne vyzaduje vse anglicky - identifikatory, komentare, dokumentace. Ale je pravda, ze nedelame pro ceskeho/slovenskeho zakaznika. I tak si myslim, ze anglictina je dobra volba. Neni nic horsiho, nez udrzovat kod s komentari treba v rustine :D. Precejenom snad kazdy vyvojar umi anglicky.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 03. 11. 2016, 12:25:49
A čo jazyk, v ktorom premenné a metódy nazývať? Nech robíme čokoľvek, skôr či neskôr skončíme u nás vo firme s tým, že niečo je po slovensky, a niečo po anglicky.  :( Keď začneme so slovenčinou, čoskoro sa ukáže, že angličtina má niektoré zaužívané slová, ktoré je ťažké nahradiť. A keď začneme s angličtinou, čoskoro narazíme na tak špecifické termíny biznis logiky, ktoré nemá zmysel prekladať, resp. ich prekladom sa kód stane menej prehľadným.

Z dotazu je patrné, že Marek preferuje angličtinu.

Obecně platí, že by se v jednom identifikátoru neměly míchat jazyky. Název metody getPocet() je tedy podle tohoto pravidla chybně.

Většinou to dělám tak, že komponenty v rozhraní (metody) mívám anglicky. Těch sloves není mnoho a jsou vcelku zažité. (add, insert, delete, update,...) Třídy a objekty mám česky.

Překladem do angličtiny se ten název otestuje, přece jen je lepší pojmenovat třídu Worker, než Dělník, či Zpracovatel.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 12:31:15
Překladem do angličtiny se ten název otestuje, přece jen je lepší pojmenovat třídu Worker, než Dělník, či Zpracovatel.

Co prosím? Jak se ten název otestuje pouhým překladem do angličtiny? Proč je lepší název Worker než Dělník či Zpracovatel?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: dustin 03. 11. 2016, 12:38:28
Názvy jsou dle mého názoru jedním z klíčových prvků, které přispějí nebo naopak zhorší čitelnost a s tím související chybovost kódu. Rovněž je třeba, aby vývojář uměl dostatečně dobře anglicky a názvy dávaly v angličtině správný smysl, nebyl to nějaký czenglismus. S tím se setkávám neustále. Chybné trpné rody nepravidelných sloves jsou jenom vrcholem ledovce, horší jsou nesprávné překlady, které vyloženě matou.

Slušně napsaný kód se čte jako anglický příběh.

K délce - raději mám delší přesný název vyjadřující skutečný význam, než rádoby pochopitelnou zkratku, které nikdo jiný kromě autora nerozumí. IDE doplňuje, takže delší názvy nijak nevadí. Jednoslovné pojmenování bývá dostatečně popisné jen výjimečně, možná tak v maličkém projektíku vyvíjeného pouze jedním člověkem. A i tam pochybuju.

Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 03. 11. 2016, 12:39:15
BTW nektere jazyky umoznuji i UTF8 identifikatory, fuj.

Překladem do angličtiny se ten název otestuje, přece jen je lepší pojmenovat třídu Worker, než Dělník, či Zpracovatel.

Co prosím? Jak se ten název otestuje pouhým překladem do angličtiny? Proč je lepší název Worker než Dělník či Zpracovatel?

Protoze mu bude rozumnet v podstate kazdy vyvojar na svete? Ja nerustinar proste v nazvu tridy Разнорабочий nevidim toho ceskeho Dělníka. Jako jo, pokud si neco matlate v jednom cloveku a ani se to neplanuje udrzovat, tak pak jo. Ale vzhledem k tomu, jak casto se meni zadani a pozadavky zakaznika, tak ani tomu bych neveril. Mozna kdybych to mel vyslovne ve smlouve, ale i tak nevidim zadne klady v pouzivani ceskych/českých identifikatoru. Pokud neni zcela jasne, jaky je preklad, tak se ma tym domluvit na slovnicku a toho se striktne drzet.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 12:44:13
K délce - raději mám delší přesný název vyjadřující skutečný význam, než rádoby pochopitelnou zkratku, které nikdo jiný kromě autora nerozumí. IDE doplňuje, takže delší názvy nijak nevadí. Jednoslovné pojmenování bývá dostatečně popisné jen výjimečně, možná tak v maličkém projektíku vyvíjeného pouze jedním člověkem. A i tam pochybuju.

Platí přece jasné pravidlo: Zkratky nepoužívat.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 03. 11. 2016, 12:46:06
BTW nektere jazyky umoznuji i UTF8 identifikatory, fuj.

Překladem do angličtiny se ten název otestuje, přece jen je lepší pojmenovat třídu Worker, než Dělník, či Zpracovatel.

Co prosím? Jak se ten název otestuje pouhým překladem do angličtiny? Proč je lepší název Worker než Dělník či Zpracovatel?
Code 7, Victim 5

Protoze mu bude rozumnet v podstate kazdy vyvojar na svete? Ja nerustinar proste v nazvu tridy Разнорабочий nevidim toho ceskeho Dělníka. Jako jo, pokud si neco matlate v jednom cloveku a ani se to neplanuje udrzovat, tak pak jo. Ale vzhledem k tomu, jak casto se meni zadani a pozadavky zakaznika, tak ani tomu bych neveril. Mozna kdybych to mel vyslovne ve smlouve, ale i tak nevidim zadne klady v pouzivani ceskych/českých identifikatoru. Pokud neni zcela jasne, jaky je preklad, tak se ma tym domluvit na slovnicku a toho se striktne drzet.
Já jsem taky pro striktně anglické názvy. No a právě při tvorbě toho slovníčku, se na základě různých názorů na překlad dodatečně otestuje sémantika zamýšleného objektu.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 13:02:09
Já jsem taky pro striktně anglické názvy. No a právě při tvorbě toho slovníčku, se na základě různých názorů na překlad dodatečně otestuje sémantika zamýšleného objektu.

Nechce se mi několikrát denně kvůli každému novému názvu třídy hledat ve slovníku a ověřovat, zda je to sémanticky stejné jako v češtině.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 03. 11. 2016, 13:26:25
Já jsem taky pro striktně anglické názvy. No a právě při tvorbě toho slovníčku, se na základě různých názorů na překlad dodatečně otestuje sémantika zamýšleného objektu.

Nechce se mi několikrát denně kvůli každému novému názvu třídy hledat ve slovníku a ověřovat, zda je to sémanticky stejné jako v češtině.

časem se ta slovíčka naučíte, a slovník nepotřebujete.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 13:33:58
Já jsem taky pro striktně anglické názvy. No a právě při tvorbě toho slovníčku, se na základě různých názorů na překlad dodatečně otestuje sémantika zamýšleného objektu.

Nechce se mi několikrát denně kvůli každému novému názvu třídy hledat ve slovníku a ověřovat, zda je to sémanticky stejné jako v češtině.

časem se ta slovíčka naučíte, a slovník nepotřebujete.

Ty dáš z hlavy, co je to guttertile, cam, chimney, nut nebo crankshaft? To zpravidla nevědí ani ti, kteří to používají.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Sten 03. 11. 2016, 13:47:25

Ty dáš z hlavy, co je to guttertile, cam, chimney, nut nebo crankshaft? To zpravidla nevědí ani ti, kteří to používají.

Pokrývači a opraváři aut dělají v angličtině?

Btw. vím z hlavy, co to znamená. A je to gutter tile.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 13:57:02
Ty dáš z hlavy, co je to guttertile, cam, chimney, nut nebo crankshaft? To zpravidla nevědí ani ti, kteří to používají.

Pokrývači a opraváři aut dělají v angličtině?

Btw. vím z hlavy, co to znamená. A je to gutter tile.

To jsou pojmy z fabriky, ve které se ty prejzy vyrábí.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: jurdo 03. 11. 2016, 14:05:38
tvl tu snad ludia nevedia ani pomenovavat premenne? no to sme sa kam dostali? toto ze chce byt programator?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 14:12:39
tvl tu snad ludia nevedia ani pomenovavat premenne? no to sme sa kam dostali? toto ze chce byt programator?

Máš snad nějakou konkrétní připomínku? Česky nebo anglicky?

Co si představuješ pod pojmem heap? Raději použiji slovo "halda" protože tomu nikdo jinak neřekne a slovo "heap" si nechám pro haldu v paměti.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 03. 11. 2016, 14:13:26
Já jsem taky pro striktně anglické názvy. No a právě při tvorbě toho slovníčku, se na základě různých názorů na překlad dodatečně otestuje sémantika zamýšleného objektu.

Nechce se mi několikrát denně kvůli každému novému názvu třídy hledat ve slovníku a ověřovat, zda je to sémanticky stejné jako v češtině.

časem se ta slovíčka naučíte, a slovník nepotřebujete.

Ty dáš z hlavy, co je to guttertile, cam, chimney, nut nebo crankshaft? To zpravidla nevědí ani ti, kteří to používají.

Pokud takto potřebujete pojmenovávat objekty, tak to může znamenat, že pracujete se špatnou úrovní abstrakce. Časem se slovník domény naučíte. A to je právě na tom to zajímavé, použitý slovník ovlivní jak aplikace vypadá, v cizím jazyce vás nerozptylují rušivé konotace českých slov. A to může být pro modelování reality přínosné.

http://wiki.ubuntu.cz/Programy/V%C4%9Bda%20a%20vzd%C4%9Bl%C3%A1n%C3%AD/StarDict?redirect=1id=Stardict
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Tomáš Roll 03. 11. 2016, 14:18:50
Za komunistů na to byly normy. Nejen na způsob zápisu, ale i na samotné názvy. Naštěstí je nikdo neznal.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 14:26:35
Ty dáš z hlavy, co je to guttertile, cam, chimney, nut nebo crankshaft? To zpravidla nevědí ani ti, kteří to používají.

Pokud takto potřebujete pojmenovávat objekty, tak to může znamenat, že pracujete se špatnou úrovní abstrakce.

Může a nemusí. Pokud je to třída, která se zabývá technickými parametry prejzů, vaček nebo servisem komínu, tak je to správná úroveň. Pokud je to jen nějaké zboží na skladě, tak samozřejmě ne.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: phi 03. 11. 2016, 16:29:36
Hlavne jednoznacne a dostatecne popisne ;) V praxi ma kazdy jazyk svoje doporuceni, ktera mohou byt vice ci mene upresnena firemnimi a projektovymi pravidly.
Nijak zvlast bych to neresil, na velkem projektu ti konvence stejne vnuti a na malem projektu si aspon muzete vyzkouset, jake to je hrabat se po trech mesicich v kodu, ktere ma ty konvence spatne nastavene ;)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: alda 03. 11. 2016, 16:37:42
tvl tu snad ludia nevedia ani pomenovavat premenne? no to sme sa kam dostali? toto ze chce byt programator?

Pojmenovat neni to problem.. ale aby to k necemu bylo, to je uz horsi
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 03. 11. 2016, 16:51:32
Ty dáš z hlavy, co je to guttertile, cam, chimney, nut nebo crankshaft? To zpravidla nevědí ani ti, kteří to používají.

Pokud takto potřebujete pojmenovávat objekty, tak to může znamenat, že pracujete se špatnou úrovní abstrakce.

Může a nemusí. Pokud je to třída, která se zabývá technickými parametry prejzů, vaček nebo servisem komínu, tak je to správná úroveň. Pokud je to jen nějaké zboží na skladě, tak samozřejmě ne.

Vás bych z nevodně zvolené úrovně abstrakce nepodezříval. Neberte to proto osobně, opravdu se vám v praxi osvědčilo, abstrahovat takto? Jak to pak řešíte, když aplikaci je potřeba použít v jiném prostředí. Místo komínů servisovat třeba vysokou pec?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 03. 11. 2016, 16:54:26
Vlakno mne pripomnelo tento trefny citat :):

Citace
There are only two hard things in Computer Science: cache invalidation and naming things.
- Phil Karlton
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 03. 11. 2016, 17:11:17
Vlakno mne pripomnelo tento trefny citat :):

Citace
There are only two hard things in Computer Science: cache invalidation and naming things.
- Phil Karlton

Pojmenování věcí určuje, jak svět vidíme. Je to otázka jazyka i kultury a to má diskrétní povahu. Při programování se dostáváme často do prostoru mimo tyto meze a hotové pojmy nám přirozeně chybí, protože potřebujeme vytvářet konglomeráty abstrakcí, které si z pojmů berou jen jejich určité vlastnosti.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 18:39:58
Vás bych z nevodně zvolené úrovně abstrakce nepodezříval. Neberte to proto osobně, opravdu se vám v praxi osvědčilo, abstrahovat takto? Jak to pak řešíte, když aplikaci je potřeba použít v jiném prostředí. Místo komínů servisovat třeba vysokou pec?

Ne zrovna vysokou, ale pec ano. Dlouhou. Když i v programovém menu jsou ty položky odděleny a parametry servisu obou objektů jsou zcela jiné, tak se vyplatí je mít ve dvou třídách místo jedné god-class, ve které by byla hromada rozboček jen kvůli tomu, že jsem tu třídu nerozdělil. Když jsem pak přidával sušárnu, která měla opět jiné parametry, tak jsem na předchozí dvě třídy ani nesáhl a napsal jsem třetí. Do menu jsem pak jen přidal další řádek a bylo vymalováno.

Dělám to takhle už dlouho. Třídy díky tomu vychází jednoduché, mají shodné rozhraní a proto mohu využívat polymorfismus. Uvnitř jsou samozřejmě specializované pro konkrétní účel. Pokud přijde změna zadání, změním jen tu třídu, které se to konkrétně týká nebo ji při brutální změně vyměním za novou - tedy při změně, která by mohla negativně ovlivnit chování aplikace u jiného zákazníka.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Sten 03. 11. 2016, 21:15:06
Citace
There are only two hard things in Computer Science: cache invalidation and naming things.
- Phil Karlton

Citace
There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.
- Leon Bambrick on Phil Karlton's quote
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 03. 11. 2016, 21:40:26
Vás bych z nevodně zvolené úrovně abstrakce nepodezříval. Neberte to proto osobně, opravdu se vám v praxi osvědčilo, abstrahovat takto? Jak to pak řešíte, když aplikaci je potřeba použít v jiném prostředí. Místo komínů servisovat třeba vysokou pec?

Ne zrovna vysokou, ale pec ano. Dlouhou. Když i v programovém menu jsou ty položky odděleny a parametry servisu obou objektů jsou zcela jiné, tak se vyplatí je mít ve dvou třídách místo jedné god-class, ve které by byla hromada rozboček jen kvůli tomu, že jsem tu třídu nerozdělil. Když jsem pak přidával sušárnu, která měla opět jiné parametry, tak jsem na předchozí dvě třídy ani nesáhl a napsal jsem třetí. Do menu jsem pak jen přidal další řádek a bylo vymalováno.

Dělám to takhle už dlouho. Třídy díky tomu vychází jednoduché, mají shodné rozhraní a proto mohu využívat polymorfismus. Uvnitř jsou samozřejmě specializované pro konkrétní účel. Pokud přijde změna zadání, změním jen tu třídu, které se to konkrétně týká nebo ji při brutální změně vyměním za novou - tedy při změně, která by mohla negativně ovlivnit chování aplikace u jiného zákazníka.

Takže žádná duplicita kódu? Protože tohle zní zase jako jedna z tvých pohádek. Ale pokud máš 50 tříd s kompletně rozdílným kódem, tak v pohodě, to máš asi štěstí na projekt :D
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 22:21:34
Takže žádná duplicita kódu? Protože tohle zní zase jako jedna z tvých pohádek. Ale pokud máš 50 tříd s kompletně rozdílným kódem, tak v pohodě, to máš asi štěstí na projekt :D

Zase šíříš FUD, co?

Prostě si každou třídu poskládám z takových komponent, jaké jsou pro splnění mise potřebné. Přece v nich nemusím udělat veškerou práci. Říká se tomu dekompozice - co nejvíc práce deleguji do komponent.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: aa 03. 11. 2016, 23:06:36
Máš snad nějakou konkrétní připomínku? Česky nebo anglicky?
Konzistentne. Nemam nic proti cestine, ak je vsade:
Kód: [Vybrat]
#zahrn<stdvv.h>

cis hlavni(cis argpocet, znak* argvektor[]) {
  vypisf("Ahoj svete!\n");
  vrat 0;
}
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: aa 03. 11. 2016, 23:19:38
Takže žádná duplicita kódu? Protože tohle zní zase jako jedna z tvých pohádek. Ale pokud máš 50 tříd s kompletně rozdílným kódem, tak v pohodě, to máš asi štěstí na projekt :D

Zase šíříš FUD, co?

Prostě si každou třídu poskládám z takových komponent, jaké jsou pro splnění mise potřebné. Přece v nich nemusím udělat veškerou práci. Říká se tomu dekompozice - co nejvíc práce deleguji do komponent.
Pri naklikanom GUI sa vygenerovany kod opakuje, ked nemas vlastne naklikavatko, ktore by dokazalo spravit nieco rozumnejsie.

Toto mi pripomina, ako som si skusal navrhovat implementaciu sietoveho stacku - perfektne zapuzdrenie, komponenty, vrstvy. Tak, ako sa to uci na skolach. A potom som chcel z prezentacnej vrstvy (klikatko) pristupovat k takym udajom ako IP adresa, MAC adresa, packet loss a chcel som mat moznost sa odpojit alebo pripojit. A zrazu su z Kitovej perfektnej dekompozicie spagety, lebo uzivatel chce ovela viac ako je niekde urcene.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 23:26:37
Máš snad nějakou konkrétní připomínku? Česky nebo anglicky?
Konzistentne. Nemam nic proti cestine, ak je vsade:
Kód: [Vybrat]
#zahrn<stdvv.h>

cis hlavni(cis argpocet, znak* argvektor[]) {
  vypisf("Ahoj svete!\n");
  vrat 0;
}

Hezký. S jistou sadou #define by to mohlo i fungovat :)

Vždycky jsem si užíval toho, že klíčová slova byla anglicky a názvy objektů česky. Dobře se mi to čte, snadno odliším klíčová slova od vlastních objektů a metod. Pak přišla móda vše pojmenovávat anglicky. Částečně jsem se přizpůsobil, ale názvy objektů a tříd IMHO stále nemá smysl překládat, pokud ten projekt není mezinárodní.

Kdokoli si ty objekty může přejmenovat podle sebe. V dnešních IDE to má za chviličku.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 03. 11. 2016, 23:32:40
Pri naklikanom GUI sa vygenerovany kod opakuje, ked nemas vlastne naklikavatko, ktore by dokazalo spravit nieco rozumnejsie.

Toto mi pripomina, ako som si skusal navrhovat implementaciu sietoveho stacku - perfektne zapuzdrenie, komponenty, vrstvy. Tak, ako sa to uci na skolach. A potom som chcel z prezentacnej vrstvy (klikatko) pristupovat k takym udajom ako IP adresa, MAC adresa, packet loss a chcel som mat moznost sa odpojit alebo pripojit. A zrazu su z Kitovej perfektnej dekompozicie spagety, lebo uzivatel chce ovela viac ako je niekde urcene.

Nevidím důvod, proč bych měl nějaký kód opakovat pomocí nějakého klikátka. DRY.

Nemohu za to, že sis ten projekt špatně navrhl.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kája 03. 11. 2016, 23:50:27
To nejde takhle říct, existuje několik konvencí pro každý jazyk, některé jsou více preferované, některé méně. Každý projekt má většinou svůj code style.

Např. v C existuje konvence uvádět jako suffix datový typ, např. count_u8. Člověk si napoprvé řekne, že je to zbytečnost, ale časem to ocení, lépe se orientuje v kódu.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: pavlix 04. 11. 2016, 00:32:37
Např. v C existuje konvence uvádět jako suffix datový typ, např. count_u8. Člověk si napoprvé řekne, že je to zbytečnost, ale časem to ocení, lépe se orientuje v kódu.

Já to teda neocením ani časem.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Radovan. 04. 11. 2016, 00:37:02
Např. v C existuje konvence uvádět jako suffix datový typ, např. count_u8.
Ve FORTRANu se automaticky určuje typ proměnné prvním písmenem jejího názvu, takže I,J,K,L,M,N jsou celočíselné, ostatní reálné. Ale nadeklarovat si můžeš co chceš. Proto:

"GOD is REAL (unless declared INTEGER)"
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: aa 04. 11. 2016, 01:29:10
Nevidím důvod, proč bych měl nějaký kód opakovat pomocí nějakého klikátka. DRY.
To sa lahko povie, ale zarovnavat pixely v nejakom xml alebo v kode, pripadne pisat si rucne parser nie je ziadna zabava. Tak pouzijem Eclipse a jeho modelling tools, kde si naklikam co chcem a to vygeneruje dost hnusny kod, ktory sa opakuje. To neopakujem ja, to robi za mna IDE.

Ako zariadis DRY? Mas vlastny Eclipse?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 04. 11. 2016, 08:48:16
Nevidím důvod, proč bych měl nějaký kód opakovat pomocí nějakého klikátka. DRY.
To sa lahko povie, ale zarovnavat pixely v nejakom xml alebo v kode, pripadne pisat si rucne parser nie je ziadna zabava. Tak pouzijem Eclipse a jeho modelling tools, kde si naklikam co chcem a to vygeneruje dost hnusny kod, ktory sa opakuje. To neopakujem ja, to robi za mna IDE.

Ako zariadis DRY? Mas vlastny Eclipse?

Ne. Mám Vim. Ten mi hnusný kód nedělá.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: alda 04. 11. 2016, 09:35:15
Nevidím důvod, proč bych měl nějaký kód opakovat pomocí nějakého klikátka. DRY.
To sa lahko povie, ale zarovnavat pixely v nejakom xml alebo v kode, pripadne pisat si rucne parser nie je ziadna zabava. Tak pouzijem Eclipse a jeho modelling tools, kde si naklikam co chcem a to vygeneruje dost hnusny kod, ktory sa opakuje. To neopakujem ja, to robi za mna IDE.

Ako zariadis DRY? Mas vlastny Eclipse?

Ne. Mám Vim. Ten mi hnusný kód nedělá.

A ja si naivne vzdy myslel, ze hnusny kod dela programator .. a on to ma na svedomi Editor
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Screemy 04. 11. 2016, 09:54:08
Libí se mi dnešní doba programátorska + IDE ...

Programátor bez IDE nevytvoří projekt.

A když ho vytvoří v IDE (krásně dříve řečeno "nakliká") má hnusný kód ... (logicky)

To je okecáváno tím, že to generuje IDE, ale přitom 80% programátorů ani neví, co to to IDE vygenrovalo natož co to dělá a jak by to měli udělat bez IDE.

Líbí se mi jak Kit razí "svůj styl" jelikož osobně to mám stejně ;-)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 04. 11. 2016, 10:06:30
Libí se mi dnešní doba programátorska + IDE ...

Programátor bez IDE nevytvoří projekt.

A když ho vytvoří v IDE (krásně dříve řečeno "nakliká") má hnusný kód ... (logicky)

To je okecáváno tím, že to generuje IDE, ale přitom 80% programátorů ani neví, co to to IDE vygenrovalo natož co to dělá a jak by to měli udělat bez IDE.

Líbí se mi jak Kit razí "svůj styl" jelikož osobně to mám stejně ;-)

Za 10 let bude místo IDE podstatné části programu generovat AIDE (Artificial Inteligence Development Environment), vy budete jen připravovat trénovací data a počáteční šablony nutné ke spuštění evolučních algoritmů a aby byla možnost ovlivnit proces hledání řešení pomocí AIDE, ve výsledném kódu se pak stejně nikdo nevyzná a ani ho nebude zkoumat, AI bude generovat rovnou kód pro VM. Nebudete programátor, ale mentor stroje a k mentorování vám bude sloužit AIDE.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: spasitel 04. 11. 2016, 10:09:15
Ad1) Iva Novy, vy tady nepiste uz nesmysly, protoze vazne pusobite jako poradnej dement.

Ad2) Screemy ty ani nevis, co delas, kdyz pouzivas Vim.

Ad3) za sociku nam bylo nejlip (no jo ,tvl kontrolni otazka, kdy probehla sametova revoluce, curaci)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 04. 11. 2016, 10:10:51
IDE se používá od 80. let. Měl ho už Smalltalk.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 04. 11. 2016, 10:17:48
Ad1) Iva Novy, vy tady nepiste uz nesmysly, protoze vazne pusobite jako poradnej dement.

Ad2) Screemy ty ani nevis, co delas, kdyz pouzivas Vim.

Ad3) za sociku nam bylo nejlip (no jo ,tvl kontrolni otazka, kdy probehla sametova revoluce, curaci)

ad 1.) Myslíte, že AIDE bude dřív, nebo později? První vlaštovka je zde http://www.goodai.com/brain-simulator
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Screemy 04. 11. 2016, 10:21:12
Libí se mi dnešní doba programátorska + IDE ...

Programátor bez IDE nevytvoří projekt.

A když ho vytvoří v IDE (krásně dříve řečeno "nakliká") má hnusný kód ... (logicky)

To je okecáváno tím, že to generuje IDE, ale přitom 80% programátorů ani neví, co to to IDE vygenrovalo natož co to dělá a jak by to měli udělat bez IDE.

Líbí se mi jak Kit razí "svůj styl" jelikož osobně to mám stejně ;-)

Za 10 let bude místo IDE podstatné části programu generovat AIDE (Artificial Inteligence Development Environment), vy budete jen připravovat trénovací data a počáteční šablony nutné ke spuštění evolučních algoritmů a aby byla možnost ovlivnit proces hledání řešení pomocí AIDE, ve výsledném kódu se pak stejně nikdo nevyzná a ani ho nebude zkoumat, AI bude generovat rovnou kód pro VM. Nebudete programátor, ale mentor stroje a k mentorování vám bude sloužit AIDE.

Programátor, který není schopný napsat projekt od základu na koleni bez IDE a jeho klikátek není programátor, toť můj názor který razím co si pamatuji ...

Je to přesne dnešní programátorská doba, každý rádoby programátor co si ve visualstudiu namaluje design a naklika funkce si mysli, ze muze delat programatora ale kdyz mu ukazete co to IDE vygenerovalo, neni shcopny to ani bezchybne precist, podobne je to s instalaci wordpress atp ...

To co jste psal Vy muze byt castence pravda, osobne jsem si take pohraval s myslenkou ze AI udela program za me, ja mu jen definuji co ma delat a bude to, nebudou potreba programatori, spravci serveru atd, protoze vse to muze delat AI.

Pevne doufam, ze teto doby se nedoziju (je mi 26, v tomto věku bych toto měl vitat, jako moji vrstevnici, avsak opak je pravdou)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Screemy 04. 11. 2016, 10:22:48
Ad1) Iva Novy, vy tady nepiste uz nesmysly, protoze vazne pusobite jako poradnej dement.

Ad2) Screemy ty ani nevis, co delas, kdyz pouzivas Vim.

Ad3) za sociku nam bylo nejlip (no jo ,tvl kontrolni otazka, kdy probehla sametova revoluce, curaci)

Mohu Vás poprosit o doložení kde jsem uvedl, že používám Vim? Nebo dle čeho soudíte, že nevím co dělám?

Děkuji  ;)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: spasitel 04. 11. 2016, 10:41:16
Screemy:
to ze vy netusite, co dela IDEcko, je vase vec. IDE je hlavne o zjednoduseni pri vytvoreni projektu a pri praci programovani. to mate jako, proc dnes pouzit bagr, kdyz muzu pouzit javamanovu lopatu? proc pouzit pracku, kdyz muzu mejt v rukach?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 04. 11. 2016, 10:42:34
Nevidím důvod, proč bych měl nějaký kód opakovat pomocí nějakého klikátka. DRY.
To sa lahko povie, ale zarovnavat pixely v nejakom xml alebo v kode, pripadne pisat si rucne parser nie je ziadna zabava. Tak pouzijem Eclipse a jeho modelling tools, kde si naklikam co chcem a to vygeneruje dost hnusny kod, ktory sa opakuje. To neopakujem ja, to robi za mna IDE.

Ako zariadis DRY? Mas vlastny Eclipse?

Ne. Mám Vim. Ten mi hnusný kód nedělá.

Ten vam nedela zadny kod ;D. Takze misto par kliknuti a "hnusneho kodu", ktery stejne nikdo nema udrzovat, protoze se snad ma udrzovat predpis pro to vygenerovani, ve Vimu musite hodiny zkoumat, jak asi napr. ten naklikany parser napsat sam a pak k nemu napsat jeste kotel testu. Navic napr. ty generovane parsery byvaji mnohem rychlejsi, protoze jsou podstatne lepe optimalizovane, prestoze to vypada jako kod od prasete (tusim ANTLR to byl - switch na stovky radku atp.).

Libí se mi dnešní doba programátorska + IDE ...

Programátor bez IDE nevytvoří projekt.

A když ho vytvoří v IDE (krásně dříve řečeno "nakliká") má hnusný kód ... (logicky)

To je okecáváno tím, že to generuje IDE, ale přitom 80% programátorů ani neví, co to to IDE vygenrovalo natož co to dělá a jak by to měli udělat bez IDE.

Líbí se mi jak Kit razí "svůj styl" jelikož osobně to mám stejně ;-)

Nevim no, pokud nektere formaty souboru jsou delane tak, aby je generoval program, tak nevidim moc pointu v tom to psat rucne (nejsem si moc jisty, ale namaji to tak prave M$ veci?).

Osobne kdyz vyvijim ve Scale, tak si "zakladam" projekt sam (napisu si SBT build file). Ale zaroven pouzivam IDE, protoze bez toho je vyvoj velmi pomaly (od zakladnich veci jako navigace a importy az po refaktoring a chytre - type-aware - naseptavani).

Napr. v JavaScriptu mne ale prijde jako ztrata casu zacinat od piky. Vsak se doporucuje najit si seed nebo alespon buildfile ci konfiguraci, ktera nejvice sedi projektu a ten pouze jemne upravit. Ono psat si svuj gulpfile i pro celkem bezny projekt (ES6, Sass, Angular) je celkem na dlouho (den, asi spis i dny - musi se resit bundlovani, kompilovani sablon do JS, kompilovani zavislosti [bower/npm], minifikace, ruzne kontexty [napr. local BE, mock API a produkce] a pripadne i pokrocilejsi veci [proxy s nejakym mapovanim, generovani zdrojaku podle parametru tasku atp.]). Nebo snad kdyz potrebujete sifrovani, tak si taky implementujete hranate polamane kolo radeji nez pouzit roky overene, poradne otestovane v produkci, opravdu kulate a otevrene kolo?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Screemy 04. 11. 2016, 10:45:08
Screemy:
to ze vy netusite, co dela IDEcko, je vase vec. IDE je hlavne o zjednoduseni pri vytvoreni projektu a pri praci programovani. to mate jako, proc dnes pouzit bagr, kdyz muzu pouzit javamanovu lopatu? proc pouzit pracku, kdyz muzu mejt v rukach?

Dovolím si s Vámi nesouhlasit. IDE jsem používal, znám co dělá, vím jak funguje a moji kolegové jej také využívají.

Nikde jsem nepsal, ze práci neulehčuje, ale narážel jsem na to, že 80% programátorů, které IDE používají nerozumí tomu, co a proč to IDE vygenrovalo, k čemu to slouží a jak by to vlastně měli napsat ručně. Nehledě na to, že to co vygenruje IDE se dá min o 50% napsat úsporněji a přehledněji.

Vaše přirovnání bagr vs lopata či valcha vs pračka je tedy totálně mimo.

Ale děkuji za Vaši odpověd ;-)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: spasitel 04. 11. 2016, 11:07:49
usporneji? to snad chcete rict, ze vy umite lepe napsat vygenerovanej kod, kterej je zoptimalizovanej, nez samotne IDE? jo vy jste borec :D
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 04. 11. 2016, 11:09:48
Citace
Nikde jsem nepsal, ze práci neulehčuje, ale narážel jsem na to, že 80% programátorů, které IDE používají nerozumí tomu, co a proč to IDE vygenrovalo, k čemu to slouží a jak by to vlastně měli napsat ručně.

uz borland delphi z 199x na klikanie okynek vo windowse generovalo na pozadi veci ktore boli interne nezrozumitelne

a vyvijalo sa v tom jak namydlenej blesk

mozno ked idete vim tak si mozete makefile pisat sami

ale ste mensina
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Screemy 04. 11. 2016, 11:15:32
Nevim no, pokud nektere formaty souboru jsou delane tak, aby je generoval program, tak nevidim moc pointu v tom to psat rucne (nejsem si moc jisty, ale namaji to tak prave M$ veci?).

Osobne kdyz vyvijim ve Scale, tak si "zakladam" projekt sam (napisu si SBT build file). Ale zaroven pouzivam IDE, protoze bez toho je vyvoj velmi pomaly (od zakladnich veci jako navigace a importy az po refaktoring a chytre - type-aware - naseptavani).

Napr. v JavaScriptu mne ale prijde jako ztrata casu zacinat od piky. Vsak se doporucuje najit si seed nebo alespon buildfile ci konfiguraci, ktera nejvice sedi projektu a ten pouze jemne upravit. Ono psat si svuj gulpfile i pro celkem bezny projekt (ES6, Sass, Angular) je celkem na dlouho (den, asi spis i dny - musi se resit bundlovani, kompilovani sablon do JS, kompilovani zavislosti [bower/npm], minifikace, ruzne kontexty [napr. local BE, mock API a produkce] a pripadne i pokrocilejsi veci [proxy s nejakym mapovanim, generovani zdrojaku podle parametru tasku atp.]). Nebo snad kdyz potrebujete sifrovani, tak si taky implementujete hranate polamane kolo radeji nez pouzit roky overene, poradne otestovane v produkci, opravdu kulate a otevrene kolo?

Většina věci, které Vám generuje IDE je děláno tak aby je program mohl vytvořit, to jestli jsou 100% dobře, maximálně optimalizovaný jak rychlost, tak velikost je věc vedlejší, to je právě to o čem mluvím. Dnešní doba je fajn, každý mámě X GB a tak velikost programu je OK a nikdo ji neřeší, ale nepřijde Vám lepší napsat program, který je přehlednější, čitelnější, méně náročnější a menši než to, co by jste vygeneroval/vyklikal z IDE?

Tak jako tak IDE musite stanovit strukturu, ve které chcete projekt vést, kde co bude uležené, jak se to má tahat (nemusíte, ale pokud si chcete být 100% jistý, stejně to uděláte) takže to, že mi to stáhne nějakou pro mě nelogickou strukturu projektu je prostě špatně.

Našeptávání, refaktoring, autocomplete mě osobně přijde, jako kdyby programátor nevěděl kde co v projektu má, jak se k tomu dostat, jak daný kód dokončit, nebo třeba našeptávání funkci (jak ta funkce vlastně má vypadat? Aha našeptávání mě poradí i včetně zápisu atd). K čemu tedy se člověk musí učit programovat, když tu je chytré IDE a dá se v něm vše naklapat? Nemusím si nic pamatovat, nemusím mít přehled v projektu, nemusím nic znát, IDE to vlatsně umí za mě. Pak mě napadá otázka, k čemu je takový programátor, který když posadíte před konzoli na webovém serveru, kde je spadlá webová aplikace aby jí opravil na Vás bude koukat a ptát se, jaké IDE má použít a kde ho najít?

Na Vaší poslední otázku si myslím je odpověd výše pochopitelná
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Screemy 04. 11. 2016, 11:16:21
usporneji? to snad chcete rict, ze vy umite lepe napsat vygenerovanej kod, kterej je zoptimalizovanej, nez samotne IDE? jo vy jste borec :D

A vy snad ne? To jste potom programátor?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Karel 04. 11. 2016, 11:16:47
Vždycky jsem si užíval toho, že klíčová slova byla anglicky a názvy objektů česky. Dobře se mi to čte, snadno odliším klíčová slova od vlastních objektů a metod. Pak přišla móda vše pojmenovávat anglicky. Částečně jsem se přizpůsobil, ale názvy objektů a tříd IMHO stále nemá smysl překládat, pokud ten projekt není mezinárodní.

Byly doby, kdy jsem uvažoval podobně. Pak se mi dostal do rukou program, který byl ve švédštině. Původně nečekali, že se to bude tak dobře prodávat, vlastně to bylo napsané na míru jedné tamní elektrárně. Jenže to udělali velmi dobře a začali se objevovat zákazníci z Německa a Ukrajiny. A já byl jeden z těch, co měli za úkol to upravit pro německou legislativu. Od té doby (15 let) už píšu vše zásadně anglicky, i když jde o program pro osobní potřebu.

Jo a před měsícem přišel program ze Singapore. Naštěstí jen jako reference. Protože to jako fakt vážně ne.

Co se snažím říci: málokdy máte dopředu jistotu, že ten projekt zůstane navždy jen lokální. Pokud jste dobří a děláte něco, co je hodně užitečné, tak je velká šance, že to bude chtít i někdo ze zahraničí.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Karel 04. 11. 2016, 11:38:01
Nikde jsem nepsal, ze práci neulehčuje, ale narážel jsem na to, že 80% programátorů, které IDE používají nerozumí tomu, co a proč to IDE vygenrovalo, k čemu to slouží a jak by to vlastně měli napsat ručně. Nehledě na to, že to co vygenruje IDE se dá min o 50% napsat úsporněji a přehledněji.

V zásadě s vámi souhlasím, jen bych rád uvedl, že to z mé zkušenosti není ani tak o tom, že by nerozuměli tomu, co to vygeneruje, jako spíše že to neumí napsat ručně. To vám pak tvrdí, že nějaká komponenta nemůže reagovat na nějakou událost. A vy víte, že ano. Jenže ono mu IDE nenabízí tu událost v seznamu, takže neví, jak se jmenuje a neví, jak má pojmenovat metodu, kterou ta událost volá. Prostě neumí číst dokumentaci a spoléhají na to, že IDE jim samo vypíše a nabídne všechny funkce, co jsou dostupné.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 04. 11. 2016, 11:49:32
Nikde jsem nepsal, ze práci neulehčuje, ale narážel jsem na to, že 80% programátorů, které IDE používají nerozumí tomu, co a proč to IDE vygenrovalo, k čemu to slouží a jak by to vlastně měli napsat ručně. Nehledě na to, že to co vygenruje IDE se dá min o 50% napsat úsporněji a přehledněji.

V zásadě s vámi souhlasím, jen bych rád uvedl, že to z mé zkušenosti není ani tak o tom, že by nerozuměli tomu, co to vygeneruje, jako spíše že to neumí napsat ručně. To vám pak tvrdí, že nějaká komponenta nemůže reagovat na nějakou událost. A vy víte, že ano. Jenže ono mu IDE nenabízí tu událost v seznamu, takže neví, jak se jmenuje a neví, jak má pojmenovat metodu, kterou ta událost volá. Prostě neumí číst dokumentaci a spoléhají na to, že IDE jim samo vypíše a nabídne všechny funkce, co jsou dostupné.


Díky za IDE, v 80. letech se vůbec nepředpokládalo, že by programovací jazyky byly prakticky systémy desetisíců funkcí a knihoven, a že by to byl někdo vůbec schopen používat. Docela vážně se řešilo, který jazyk je na učení jednodušší, na jedné straně "obtížný" PL/1 a na druhé Algol, který se přirovnával ke stolové hoře, těžko se na ni vydrápete, ale jakmile jste nahoře, už to jde snadno :-))) A to běžní programátoři, lopaty, tehdy byli lidi s IQ vysoko nad 120 :-)))
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: pavlix 04. 11. 2016, 12:01:54
Je to přesne dnešní programátorská doba

Myslíte tu dnešní dobu, kdy v jednom kuse koukám přes rameno kolegům vimařům, lidem, co pouštějí gdb z příkazové řádky, lidem, co dělají hromadné editace pomocí sedu, atd...? Hrozná to doba.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Screemy 04. 11. 2016, 12:11:57
Je to přesne dnešní programátorská doba

Myslíte tu dnešní dobu, kdy v jednom kuse koukám přes rameno kolegům vimařům, lidem, co pouštějí gdb z příkazové řádky, lidem, co dělají hromadné editace pomocí sedu, atd...? Hrozná to doba.

Výtažek, který s mými příspěvky nijak nesouvisí, jen jste si jej ohl dle své potřeby?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 04. 11. 2016, 12:20:24
Je to přesne dnešní programátorská doba

Myslíte tu dnešní dobu, kdy v jednom kuse koukám přes rameno kolegům vimařům, lidem, co pouštějí gdb z příkazové řádky, lidem, co dělají hromadné editace pomocí sedu, atd...? Hrozná to doba.

Bashismus je strašná choroba :-)))
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 04. 11. 2016, 12:39:47
...

Většina věci, které Vám generuje IDE je děláno tak aby je program mohl vytvořit, to jestli jsou 100% dobře, maximálně optimalizovaný jak rychlost, tak velikost je věc vedlejší, to je právě to o čem mluvím. Dnešní doba je fajn, každý mámě X GB a tak velikost programu je OK a nikdo ji neřeší, ale nepřijde Vám lepší napsat program, který je přehlednější, čitelnější, méně náročnější a menši než to, co by jste vygeneroval/vyklikal z IDE?

Treba v pripade tech generovanych parseru - ne, neprijde me to lepsi. V ramci bakalarky jsem si parser psal a kdyz jsem pak srovnal, jak trivialne, prehledne a i vykoneji to generaval tusim ten ANTLR, tak jsem byl zatracene prekvapeny. V ramci skoly budiz, napsat si neprilis vykonny, hure udrzovatelny parser s ne prilis chytrymi chybovymi hlaskami neni zase takovy problem. Ale ve vsem volnem case, pokud neni cilem naucit se psat parser? Nebo nedejboze v praci, kde by me za takove plytvani mohli i vyhodit? Citelnejsi to bude akorat pro autora custom parseru, ale pro dalsi vyvojare bude popis pro ANTLR urcite prehlednejsi. Custom reseni neni ani mene narocne a mensi netusim. Ale osobne resit par KB nebo MB, kdyz knihovny muzou mit desitky az stovky MB? Bikeshedding, nic jineho.

Priklad jednoduche gramatiky:
Kód: [Vybrat]
grammar Expr;
prog: (expr NEWLINE)* ;
expr: expr ('*'|'/') expr
    | expr ('+'|'-') expr
    | INT
    | '(' expr ')'
    ;
NEWLINE : [\r\n]+ ;
INT     : [0-9]+ ;
Muzete si to zobrazit v klikatku, mit to zaintegrovane v IDE. Napr. takto -> http://www.antlr.org/images/antlrdt-v4-plugin.png. Prepsat ten (asi jakykoliv) parser do kodu zabere urcite podstatne vice mista, nez ten predpis pro vygenerovani. Casove bude rucny parser o nekolid radu drazsi - precejen zkonvertovat gramatiku z dokumentace na predpi pro generator muze byt na hodinku, nebo den, vypiplat si vlastni parser se bude spise pocitat na tydny. Navic ten predpis pro vygenerovani je velmi intuitivni, na rozdil od implementace custom parseru, kde pokud nedodrzujete nejake predem stanovene konvence, tak budete dlouho bloudit, nez ho cely pochopite (myslim samozrejme netrivialni pripady).

Tak jako tak IDE musite stanovit strukturu, ve které chcete projekt vést, kde co bude uležené, jak se to má tahat (nemusíte, ale pokud si chcete být 100% jistý, stejně to uděláte) takže to, že mi to stáhne nějakou pro mě nelogickou strukturu projektu je prostě špatně.

Pokud sahate po spatnem seedu, je to vas problem. V pripade JavaScript sveta napr. pro Angular jsou guideliny pro strukturu projektu, pojmenovavani atp. Pokud chcete vynalezat po desate kolo... Pokud jde o one-man-show, write-only projekt, tak prosim, ale takove projekty nejsou v komercnim svete prilis bezne. Tam se naopak hezky postupuje podle doporuceni a best practises, pouzivaji se frameworky, ktere nabadaji, jak kod strukturovat a velmi ulehcuji orientaci v kodu, o to vic, kdyz prijdete k hotovemu.

Našeptávání, refaktoring, autocomplete mě osobně přijde, jako kdyby programátor nevěděl kde co v projektu má, jak se k tomu dostat, jak daný kód dokončit, nebo třeba našeptávání funkci (jak ta funkce vlastně má vypadat? Aha našeptávání mě poradí i včetně zápisu atd). K čemu tedy se člověk musí učit programovat, když tu je chytré IDE a dá se v něm vše naklapat? Nemusím si nic pamatovat, nemusím mít přehled v projektu, nemusím nic znát, IDE to vlatsně umí za mě. Pak mě napadá otázka, k čemu je takový programátor, který když posadíte před konzoli na webovém serveru, kde je spadlá webová aplikace aby jí opravil na Vás bude koukat a ptát se, jaké IDE má použít a kde ho najít?

Na Vaší poslední otázku si myslím je odpověd výše pochopitelná

Vy se zivite vyvojem? Takhle to muze fungovat u maleho skriptu na par stovek radku, tam asi i jeste udrzite cely mentalni model v hlave. Ale jak to jde do tisicu radku, tak budete vetsi a vetsi problemy a to i kdyz jste autorem toho kodu. V realnych pripadech je to ale vyjimecny stav, vetsinou se dela v tymu a cely projekt ma mnoho autoru. Ne, programator si nema pamatovat kompletni strukturu vsech modulu v projektu, parametry a chovani kazde funkce, vsechny cleny vsech trid atp. Nejen, ze je to v realnem svete nemozne, je to i silne neprakticke. Proc si vyhrazovat kazdy den hodiny na memorovani kodu, kdyz to v par vterinach zvladne IDE a me staci jen velmi hruby prehled o projektu?

K posledni casti - auto si asi nebudete opravovat lzickou, tak proc ocekavate od programatora, ze bude pracovat s nevhodnym nastrojem?

PS: Za takoveto vynalezani kola by me pravdepodobne vyhodili. To si nedovedu predstavit, ze bych dosel po tydnu prace za sefem a rekl, ze jsem se cely tyden placal s komponentou, kterou jsem mohl vzit z opensource knihovny a zaintegrovat za pul hodiny s lepsim vysledkem a usetrenym tydnem prace. :o
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Sten 04. 11. 2016, 12:48:52
Treba v pripade tech generovanych parseru - ne, neprijde me to lepsi. V ramci bakalarky jsem si parser psal a kdyz jsem pak srovnal, jak trivialne, prehledne a i vykoneji to generaval tusim ten ANTLR, tak jsem byl zatracene prekvapeny. V ramci skoly budiz, napsat si neprilis vykonny, hure udrzovatelny parser s ne prilis chytrymi chybovymi hlaskami neni zase takovy problem. Ale ve vsem volnem case, pokud neni cilem naucit se psat parser? Nebo nedejboze v praci, kde by me za takove plytvani mohli i vyhodit? Citelnejsi to bude akorat pro autora custom parseru, ale pro dalsi vyvojare bude popis pro ANTLR urcite prehlednejsi. Custom reseni neni ani mene narocne a mensi netusim. Ale osobne resit par KB nebo MB, kdyz knihovny muzou mit desitky az stovky MB? Bikeshedding, nic jineho.

Priklad jednoduche gramatiky:
Kód: [Vybrat]
grammar Expr;
prog: (expr NEWLINE)* ;
expr: expr ('*'|'/') expr
    | expr ('+'|'-') expr
    | INT
    | '(' expr ')'
    ;
NEWLINE : [\r\n]+ ;
INT     : [0-9]+ ;
Muzete si to zobrazit v klikatku, mit to zaintegrovane v IDE. Napr. takto -> http://www.antlr.org/images/antlrdt-v4-plugin.png. Prepsat ten (asi jakykoliv) parser do kodu zabere urcite podstatne vice mista, nez ten predpis pro vygenerovani. Casove bude rucny parser o nekolid radu drazsi - precejen zkonvertovat gramatiku z dokumentace na predpi pro generator muze byt na hodinku, nebo den, vypiplat si vlastni parser se bude spise pocitat na tydny. Navic ten predpis pro vygenerovani je velmi intuitivni, na rozdil od implementace custom parseru, kde pokud nedodrzujete nejake predem stanovene konvence, tak budete dlouho bloudit, nez ho cely pochopite (myslim samozrejme netrivialni pripady).

Proč jste nepoužil Bison nebo Boost Spirit, kterému předhodíte gramatiku a parser to vygeneruje automaticky během buildu?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 04. 11. 2016, 13:02:07
Proč jste nepoužil Bison nebo Boost Spirit, kterému předhodíte gramatiku a parser to vygeneruje automaticky během buildu?

To uz snad vyjde nastejno, ne? Nekde si neco naklikam, pripadne upravim recept, a ono to nekdy vyplivne nejaky kod, ktery nemusi byt esteticky pirtazlivy, ale parser je "napsany" za hodinku, ve vetsine pripadu je podstatne rychlejsi nez custom a je plne funkcni (nejsou ani treba testy, nebo jen velmi malo ve srovnani s vlastnim parserem).

PS: Nezivim se Javou ani psanim parseru, to byl jen priklad jak "dnesni hloupy programator" zvladne ukol za zlomek casu a lepe, nez "chytry poradny programator" dedek, co si to pise na kolene :).
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Sten 04. 11. 2016, 13:14:14
To uz snad vyjde nastejno, ne? Nekde si neco naklikam, pripadne upravim recept, a ono to nekdy vyplivne nejaky kod, ktery nemusi byt esteticky pirtazlivy, ale parser je "napsany" za hodinku, ve vetsine pripadu je podstatne rychlejsi nez custom a je plne funkcni (nejsou ani treba testy, nebo jen velmi malo ve srovnani s vlastnim parserem).

PS: Nezivim se Javou ani psanim parseru, to byl jen priklad jak "dnesni hloupy programator" zvladne ukol za zlomek casu a lepe, nez "chytry poradny programator" dedek, co si to pise na kolene :).

Rozdíl je v tom, že na to nepotřebujete žádné speciální IDE, což bylo to, na co jste reagoval.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 04. 11. 2016, 13:22:15
Proč jste nepoužil Bison nebo Boost Spirit, kterému předhodíte gramatiku a parser to vygeneruje automaticky během buildu?

To uz snad vyjde nastejno, ne? Nekde si neco naklikam, pripadne upravim recept, a ono to nekdy vyplivne nejaky kod, ktery nemusi byt esteticky pirtazlivy, ale parser je "napsany" za hodinku, ve vetsine pripadu je podstatne rychlejsi nez custom a je plne funkcni (nejsou ani treba testy, nebo jen velmi malo ve srovnani s vlastnim parserem).

PS: Nezivim se Javou ani psanim parseru, to byl jen priklad jak "dnesni hloupy programator" zvladne ukol za zlomek casu a lepe, nez "chytry poradny programator" dedek, co si to pise na kolene :).

No proti IDE jsou spíš mladí, starší jsou odkojeni Windows a tedy IDE. Mladí začínali s linuxem a pro ně přitažlivou magií bashe :-)))
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 04. 11. 2016, 13:36:21
Rozdíl je v tom, že na to nepotřebujete žádné speciální IDE, což bylo to, na co jste reagoval.

To uricte nepotrebujete ani na ty Visual srandy od Mrkvosrotu, taky to "jde" urcite napsat. Stejne tak tu ANTLR gramatiku muzete napsat rucne textove bez pomoci GUI nebo jak pisete, pouzit uplne jiny nastroj. Ja nepsal, ze neexistuje jina cesta, jen ze ta zatracovana cesta muze byt klidne lepsi/nejlepsi, rychlejsi na implementaci i beh, nez si to placat na vlastnim pisecku od 0 v poznamkovem bloku.

Naopak me prijde ve vetsine pripadu zpatecnicke vyzadovat po programatorovi (nebo i jen glorifikovat) pouzivani objektivne podprumernych nastroju jen proto, protoze "je programator" a stravit tim 10x nebo i vice casu jen proto, ze "je programator" :D. Snad dostavame zaplaceno za funkcionalitu a efektivitu, ne za to, ze "jsme programatori"...

No proti IDE jsou spíš mladí, starší jsou odkojeni Windows a tedy IDE. Mladí začínali s linuxem a pro ně přitažlivou magií bashe :-)))

To snad ne ;D. Ze bych byl tam moc stary? :(

Ale jinak - na FITu si nevybavuju moc studentu, kteri by (dobrovolne) pouzivali Tuxe a textove IDE. Po pravde si z desitek lidi, co jsem s nima delal na projktech, vybavuju presne jednodho linuxaka ve vimu, zbytek Wokna (v te dobe vcetne me).
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: dustin 04. 11. 2016, 16:15:11
Naopak me prijde ve vetsine pripadu zpatecnicke vyzadovat po programatorovi (nebo i jen glorifikovat) pouzivani objektivne podprumernych nastroju jen proto, protoze "je programator" a stravit tim 10x nebo i vice casu jen proto, ze "je programator" :D. Snad dostavame zaplaceno za funkcionalitu a efektivitu, ne za to, ze "jsme programatori"...

Taky jsem nějak nepochopil, jakou to má výhodu. IMO má každý nástroj své zaměření. Tak jako nebudu psát velký javovský projekt ve vimu, nebudu si na server instalovat grafické IDE kvůli skriptování a editaci konfiguráků.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 04. 11. 2016, 16:23:11
Presne tak. I treba to nenavidene (a z hlediska jazyka a knihovny objektivne spatne) PHP muze dobre poslouzit treba na maly e-shop s woocommerce, ktery je nekde na hostingu za par supu. Delat toto napr. v Jave, tak by jen hosting vysel nekolika nasobne draz.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: čumil 04. 11. 2016, 16:34:58
Libí se mi dnešní doba programátorska + IDE ...

Programátor bez IDE nevytvoří projekt.

A když ho vytvoří v IDE (krásně dříve řečeno "nakliká") má hnusný kód ... (logicky)

To je okecáváno tím, že to generuje IDE, ale přitom 80% programátorů ani neví, co to to IDE vygenrovalo natož co to dělá a jak by to měli udělat bez IDE.

Líbí se mi jak Kit razí "svůj styl" jelikož osobně to mám stejně ;-)

Za 10 let bude místo IDE podstatné části programu generovat AIDE (Artificial Inteligence Development Environment), vy budete jen připravovat trénovací data a počáteční šablony nutné ke spuštění evolučních algoritmů a aby byla možnost ovlivnit proces hledání řešení pomocí AIDE, ve výsledném kódu se pak stejně nikdo nevyzná a ani ho nebude zkoumat, AI bude generovat rovnou kód pro VM. Nebudete programátor, ale mentor stroje a k mentorování vám bude sloužit AIDE.
A výš kámo že dnešní EA systemy fajlují od určité dimenzionality problému ? Víš taky že žerou pekelně výkonu? Tadle tvoje představa je stejná blbost jako že za 10 let budeme dělat každej tejden 8 hodin.
EA vypadá lehce a a jako lék na všechno. Bohužel, pokud si nikdy EA nevyzkoušel, tak nemůžeš vědět jak moc obtížné je to skutečně na něco aplikovat a dobrat se k výsledku.
EA je super, ale má své limity, ať už implementační, regulační, tak i výkonostní.
Zkoušel si někdy počítat kolik výkonu bys potřeboval na simulaci veškerého života na zemi ? Já ne ale musí to být nepředstavitelné číslo. A přesně tolik výkonu plus know how člověk potřebuje aby udělal AGI.

hrr do toho
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 04. 11. 2016, 16:56:38
Libí se mi dnešní doba programátorska + IDE ...

Programátor bez IDE nevytvoří projekt.

A když ho vytvoří v IDE (krásně dříve řečeno "nakliká") má hnusný kód ... (logicky)

To je okecáváno tím, že to generuje IDE, ale přitom 80% programátorů ani neví, co to to IDE vygenrovalo natož co to dělá a jak by to měli udělat bez IDE.

Líbí se mi jak Kit razí "svůj styl" jelikož osobně to mám stejně ;-)

Za 10 let bude místo IDE podstatné části programu generovat AIDE (Artificial Inteligence Development Environment), vy budete jen připravovat trénovací data a počáteční šablony nutné ke spuštění evolučních algoritmů a aby byla možnost ovlivnit proces hledání řešení pomocí AIDE, ve výsledném kódu se pak stejně nikdo nevyzná a ani ho nebude zkoumat, AI bude generovat rovnou kód pro VM. Nebudete programátor, ale mentor stroje a k mentorování vám bude sloužit AIDE.
A výš kámo že dnešní EA systemy fajlují od určité dimenzionality problému ? Víš taky že žerou pekelně výkonu? Tadle tvoje představa je stejná blbost jako že za 10 let budeme dělat každej tejden 8 hodin.
EA vypadá lehce a a jako lék na všechno. Bohužel, pokud si nikdy EA nevyzkoušel, tak nemůžeš vědět jak moc obtížné je to skutečně na něco aplikovat a dobrat se k výsledku.
EA je super, ale má své limity, ať už implementační, regulační, tak i výkonostní.
Zkoušel si někdy počítat kolik výkonu bys potřeboval na simulaci veškerého života na zemi ? Já ne ale musí to být nepředstavitelné číslo. A přesně tolik výkonu plus know how člověk potřebuje aby udělal AGI.

hrr do toho

Ano, ale na generování částí programů se právě hodí. Existuje plno mechanických činností i kreativní povahy, na kterou se dají využít. Máte-li určitý typ webu, jsou EA vhodné na vygenerování jeho variant pro jiné zákazníky. AI se naučí aktuální styl z internetu, a může produkovat podobné návrhy. Formálně je to využití EA ke generování modifikací gramatik popisujících daný web, a natrénovanou AI použijete jako fitness funkci. Výsledkem bude gramatika, která bude produkovat vizuálně prodejné weby. Když přidáte ke gramatice omezující pravidla spojené se sémantikou webu, vygeneruje vám rovnou funkční web.

Výkon nevadí, protože pak ušetříte, učení bude trvat nějakou dobu, ale pak bude v řádu minut produkovat různé návrhy.

Nakonec Googlu se podařilo vygenerovat pomocí umělé inteligence její vlastní šifrovací algoritmus, takže to není budoucnost, ale pomalu už současnost. Tuším že na Rootu taky o tom psali. Jinak viz zde http://www.osel.cz/9076-neuralni-site-googlu-vynalezly-vlastni-sifrovani.html
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 04. 11. 2016, 17:03:13
Libí se mi dnešní doba programátorska + IDE ...

Programátor bez IDE nevytvoří projekt.

A když ho vytvoří v IDE (krásně dříve řečeno "nakliká") má hnusný kód ... (logicky)

To je okecáváno tím, že to generuje IDE, ale přitom 80% programátorů ani neví, co to to IDE vygenrovalo natož co to dělá a jak by to měli udělat bez IDE.

Líbí se mi jak Kit razí "svůj styl" jelikož osobně to mám stejně ;-)

Za 10 let bude místo IDE podstatné části programu generovat AIDE (Artificial Inteligence Development Environment), vy budete jen připravovat trénovací data a počáteční šablony nutné ke spuštění evolučních algoritmů a aby byla možnost ovlivnit proces hledání řešení pomocí AIDE, ve výsledném kódu se pak stejně nikdo nevyzná a ani ho nebude zkoumat, AI bude generovat rovnou kód pro VM. Nebudete programátor, ale mentor stroje a k mentorování vám bude sloužit AIDE.
A výš kámo že dnešní EA systemy fajlují od určité dimenzionality problému ? Víš taky že žerou pekelně výkonu? Tadle tvoje představa je stejná blbost jako že za 10 let budeme dělat každej tejden 8 hodin.
EA vypadá lehce a a jako lék na všechno. Bohužel, pokud si nikdy EA nevyzkoušel, tak nemůžeš vědět jak moc obtížné je to skutečně na něco aplikovat a dobrat se k výsledku.
EA je super, ale má své limity, ať už implementační, regulační, tak i výkonostní.
Zkoušel si někdy počítat kolik výkonu bys potřeboval na simulaci veškerého života na zemi ? Já ne ale musí to být nepředstavitelné číslo. A přesně tolik výkonu plus know how člověk potřebuje aby udělal AGI.

hrr do toho

Znáte to: Nemusí pršet, jen když kape. Kolik višní, tolik třešní :-)))
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 04. 11. 2016, 18:58:49
Je to přesne dnešní programátorská doba

Myslíte tu dnešní dobu, kdy v jednom kuse koukám přes rameno kolegům vimařům, lidem, co pouštějí gdb z příkazové řádky, lidem, co dělají hromadné editace pomocí sedu, atd...? Hrozná to doba.

Když mám Vim, tak přece nepotřebuji ani gdb, ani sed.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: čumil 04. 11. 2016, 19:01:55
Libí se mi dnešní doba programátorska + IDE ...

Programátor bez IDE nevytvoří projekt.

A když ho vytvoří v IDE (krásně dříve řečeno "nakliká") má hnusný kód ... (logicky)

To je okecáváno tím, že to generuje IDE, ale přitom 80% programátorů ani neví, co to to IDE vygenrovalo natož co to dělá a jak by to měli udělat bez IDE.

Líbí se mi jak Kit razí "svůj styl" jelikož osobně to mám stejně ;-)

Za 10 let bude místo IDE podstatné části programu generovat AIDE (Artificial Inteligence Development Environment), vy budete jen připravovat trénovací data a počáteční šablony nutné ke spuštění evolučních algoritmů a aby byla možnost ovlivnit proces hledání řešení pomocí AIDE, ve výsledném kódu se pak stejně nikdo nevyzná a ani ho nebude zkoumat, AI bude generovat rovnou kód pro VM. Nebudete programátor, ale mentor stroje a k mentorování vám bude sloužit AIDE.
A výš kámo že dnešní EA systemy fajlují od určité dimenzionality problému ? Víš taky že žerou pekelně výkonu? Tadle tvoje představa je stejná blbost jako že za 10 let budeme dělat každej tejden 8 hodin.
EA vypadá lehce a a jako lék na všechno. Bohužel, pokud si nikdy EA nevyzkoušel, tak nemůžeš vědět jak moc obtížné je to skutečně na něco aplikovat a dobrat se k výsledku.
EA je super, ale má své limity, ať už implementační, regulační, tak i výkonostní.
Zkoušel si někdy počítat kolik výkonu bys potřeboval na simulaci veškerého života na zemi ? Já ne ale musí to být nepředstavitelné číslo. A přesně tolik výkonu plus know how člověk potřebuje aby udělal AGI.

hrr do toho

Ano, ale na generování částí programů se právě hodí. Existuje plno mechanických činností i kreativní povahy, na kterou se dají využít. Máte-li určitý typ webu, jsou EA vhodné na vygenerování jeho variant pro jiné zákazníky. AI se naučí aktuální styl z internetu, a může produkovat podobné návrhy. Formálně je to využití EA ke generování modifikací gramatik popisujících daný web, a natrénovanou AI použijete jako fitness funkci. Výsledkem bude gramatika, která bude produkovat vizuálně prodejné weby. Když přidáte ke gramatice omezující pravidla spojené se sémantikou webu, vygeneruje vám rovnou funkční web.

Výkon nevadí, protože pak ušetříte, učení bude trvat nějakou dobu, ale pak bude v řádu minut produkovat různé návrhy.

Nakonec Googlu se podařilo vygenerovat pomocí umělé inteligence její vlastní šifrovací algoritmus, takže to není budoucnost, ale pomalu už současnost. Tuším že na Rootu taky o tom psali. Jinak viz zde http://www.osel.cz/9076-neuralni-site-googlu-vynalezly-vlastni-sifrovani.html
A hele, na tu googlí síť se kouknu.
Jsem furt skeptický, EA dosud není na profesionálně použitelné úrovni (mass scale) + výkon.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Rott 04. 11. 2016, 20:40:38
Kite, mohl bych vidět nějaké vaše kódy? Čím víc o nich vím, tím míň si je dokážu představit. Třeba odkaz na nějaký projekt na githubu by vůbec nebyl od věci. Myslím, že nejsem sám, kdo by to ocenil. Předem díky.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 04. 11. 2016, 20:56:34
Kite, mohl bych vidět nějaké vaše kódy? Čím víc o nich vím, tím míň si je dokážu představit. Třeba odkaz na nějaký projekt na githubu by vůbec nebyl od věci. Myslím, že nejsem sám, kdo by to ocenil. Předem díky.

Po zkušenostech tady už je prezentovat nebudu. Jsou to prostě normální zdrojáky - jen jsou napsány lepším editorem, aby mi ta práce šla lépe od ruky. Kdo chce, ten si je najde.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 04. 11. 2016, 21:10:45
Kite, mohl bych vidět nějaké vaše kódy? Čím víc o nich vím, tím míň si je dokážu představit. Třeba odkaz na nějaký projekt na githubu by vůbec nebyl od věci. Myslím, že nejsem sám, kdo by to ocenil. Předem díky.

Po zkušenostech tady už je prezentovat nebudu. Jsou to prostě normální zdrojáky - jen jsou napsány lepším editorem, aby mi ta práce šla lépe od ruky. Kdo chce, ten si je najde.

Vypravej nam jeste chvili o svych zkusenostech programatora samotare, prosiiiim (zaskemra rukama)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 04. 11. 2016, 21:26:27
Vypravej nam jeste chvili o svych zkusenostech programatora samotare, prosiiiim (zaskemra rukama)

Lepiči a pojídači koláčů by mi to stejně nevěřili ;D
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: čumil 04. 11. 2016, 21:28:24
Vypravej nam jeste chvili o svych zkusenostech programatora samotare, prosiiiim (zaskemra rukama)

Lepiči a pojídači koláčů by mi to stejně nevěřili ;D
Co máš zase s koláčema tyvole

jeden jede na lopatách

druhej žvaní o koláčích

a pak se programátoři divěj že je ženský nechtěj
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: aa 04. 11. 2016, 21:43:55
Ano, ale na generování částí programů se právě hodí. Existuje plno mechanických činností i kreativní povahy, na kterou se dají využít. Máte-li určitý typ webu, jsou EA vhodné na vygenerování jeho variant pro jiné zákazníky. AI se naučí aktuální styl z internetu, a může produkovat podobné návrhy. Formálně je to využití EA ke generování modifikací gramatik popisujících daný web, a natrénovanou AI použijete jako fitness funkci. Výsledkem bude gramatika, která bude produkovat vizuálně prodejné weby. Když přidáte ke gramatice omezující pravidla spojené se sémantikou webu, vygeneruje vám rovnou funkční web.

Výkon nevadí, protože pak ušetříte, učení bude trvat nějakou dobu, ale pak bude v řádu minut produkovat různé návrhy.

Nakonec Googlu se podařilo vygenerovat pomocí umělé inteligence její vlastní šifrovací algoritmus, takže to není budoucnost, ale pomalu už současnost. Tuším že na Rootu taky o tom psali. Jinak viz zde http://www.osel.cz/9076-neuralni-site-googlu-vynalezly-vlastni-sifrovani.html
Pri dnesnom postupe v strojovom uceni si spomeniem na tie zaznamy o strojovom uceni a logickom programovani z 80-tych rokov. To sa pisalo, ako nam je dobre, ze v podstate vsetko vieme a chyba nam len vykon na trochu vyssi vykon, uz nikdy nebudeme programovat proceduralne a kecy k tomu. Teraz sa to vracia, ale asi to nie je na dlho.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 04. 11. 2016, 21:48:43
Vypravej nam jeste chvili o svych zkusenostech programatora samotare, prosiiiim (zaskemra rukama)

Lepiči a pojídači koláčů by mi to stejně nevěřili ;D
Co máš zase s koláčema tyvole

jeden jede na lopatách

druhej žvaní o koláčích

a pak se programátoři divěj že je ženský nechtěj

Jak to souvisí? Když ženský chtěj hlavně hloupé sukničkáře, tak mám jedním stát? Programátoři dříve bývali chytří, proto je ženské nechtěly. Ženské jsou od přírody hloupé pohlaví, které umí akorát opakovat naučené (vaření, praní, nakupování, starání se o děti, naše VŠ, atd.). Takže argumentovat tím, že hloupí lidé nechtějí programátory, asi není úplně ono.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Realista 04. 11. 2016, 22:10:49
Tak on každý programátor je tak trochu asociál. Jde jenom o tu míru. Do určité hranice není s ženskýma žádný problém. V mnoha případech se na tom dá i slušně zapracovat(jak po sociální, tak po fyzické stránce) a poskočit v píchatelnosti o několik levelů. Jak už je to ale za hranicí(takový javaman je dokonalý příklad), tak už je to prostě zabitý.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 04. 11. 2016, 22:37:27
Běžná lopata s tím problém mít nebude, protože programovat neumí. Pravý programátor ale používá čistě logiku a emoce jsou akorát na překážku. Pak si zkus pokecat s manažerem a nebo ženskou. Smůla, nebudou ti rozumět.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Mysteriozni Zelí 04. 11. 2016, 23:24:56
A hele. Otazka typu kolárny v Jaderné elektrárně. Tak já taky něco přidám.

Každý jazyk má svá vlastní pravidla. Jejich rámec je ve velké míře ovlivněn standardní knihovnou toho či onoho jazyka. Např. C++ ve standarní knihovně nemá žádné classy. Proto nejrůznější knihovny, které si člověk pořídí, mají dost odlišná pravidla pro pojmenování metod a tříd. Podle mého názoru, v C++ je proto v tomhle směru, bohužel, největší bordel.

Lepší situace je v Javě. Tam je standardní knihovna docela objemná a definuje tím dobře pro vývojáře, jak mají své knihovny vytvářet. Ovšem tím, že Java je tvořená z různých Open Source knihoven, které se později staly součástí standarní knihovny, stejně trpí určitým rozkolem v názvosloví a logickém uspořádání. Malým, ale trpí.

Nejlepší unifikaci a přehledost má .NET. To je dáno tím, že ho vyvíjí jedna firma. Externí knihovny jsou rovněž velice přehledné.

Já jsem Javista. Pokud chceš mít dobrý unifikovaný kód i checkováním proměnných, mohl by ti pomoct Sonar. Super věcička :)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: zboj 05. 11. 2016, 00:03:40
A hele. Otazka typu kolárny v Jaderné elektrárně. Tak já taky něco přidám.

Každý jazyk má svá vlastní pravidla. Jejich rámec je ve velké míře ovlivněn standardní knihovnou toho či onoho jazyka. Např. C++ ve standarní knihovně nemá žádné classy. Proto nejrůznější knihovny, které si člověk pořídí, mají dost odlišná pravidla pro pojmenování metod a tříd. Podle mého názoru, v C++ je proto v tomhle směru, bohužel, největší bordel.

Lepší situace je v Javě. Tam je standardní knihovna docela objemná a definuje tím dobře pro vývojáře, jak mají své knihovny vytvářet. Ovšem tím, že Java je tvořená z různých Open Source knihoven, které se později staly součástí standarní knihovny, stejně trpí určitým rozkolem v názvosloví a logickém uspořádání. Malým, ale trpí.

Nejlepší unifikaci a přehledost má .NET. To je dáno tím, že ho vyvíjí jedna firma. Externí knihovny jsou rovněž velice přehledné.

Já jsem Javista. Pokud chceš mít dobrý unifikovaný kód i checkováním proměnných, mohl by ti pomoct Sonar. Super věcička :)
V .NET je taky guláš. Nejlepší jmenné konvence má Objective-C.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: čumil 05. 11. 2016, 00:26:25
A hele. Otazka typu kolárny v Jaderné elektrárně. Tak já taky něco přidám.

Každý jazyk má svá vlastní pravidla. Jejich rámec je ve velké míře ovlivněn standardní knihovnou toho či onoho jazyka. Např. C++ ve standarní knihovně nemá žádné classy. Proto nejrůznější knihovny, které si člověk pořídí, mají dost odlišná pravidla pro pojmenování metod a tříd. Podle mého názoru, v C++ je proto v tomhle směru, bohužel, největší bordel.

Lepší situace je v Javě. Tam je standardní knihovna docela objemná a definuje tím dobře pro vývojáře, jak mají své knihovny vytvářet. Ovšem tím, že Java je tvořená z různých Open Source knihoven, které se později staly součástí standarní knihovny, stejně trpí určitým rozkolem v názvosloví a logickém uspořádání. Malým, ale trpí.

Nejlepší unifikaci a přehledost má .NET. To je dáno tím, že ho vyvíjí jedna firma. Externí knihovny jsou rovněž velice přehledné.

Já jsem Javista. Pokud chceš mít dobrý unifikovaný kód i checkováním proměnných, mohl by ti pomoct Sonar. Super věcička :)
V .NET je taky guláš. Nejlepší jmenné konvence má Objective-C.
nejlepší jmenné konvence má branfuck ...
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 05. 11. 2016, 07:17:02
Ano, ale na generování částí programů se právě hodí. Existuje plno mechanických činností i kreativní povahy, na kterou se dají využít. Máte-li určitý typ webu, jsou EA vhodné na vygenerování jeho variant pro jiné zákazníky. AI se naučí aktuální styl z internetu, a může produkovat podobné návrhy. Formálně je to využití EA ke generování modifikací gramatik popisujících daný web, a natrénovanou AI použijete jako fitness funkci. Výsledkem bude gramatika, která bude produkovat vizuálně prodejné weby. Když přidáte ke gramatice omezující pravidla spojené se sémantikou webu, vygeneruje vám rovnou funkční web.

Výkon nevadí, protože pak ušetříte, učení bude trvat nějakou dobu, ale pak bude v řádu minut produkovat různé návrhy.

Nakonec Googlu se podařilo vygenerovat pomocí umělé inteligence její vlastní šifrovací algoritmus, takže to není budoucnost, ale pomalu už současnost. Tuším že na Rootu taky o tom psali. Jinak viz zde http://www.osel.cz/9076-neuralni-site-googlu-vynalezly-vlastni-sifrovani.html
Pri dnesnom postupe v strojovom uceni si spomeniem na tie zaznamy o strojovom uceni a logickom programovani z 80-tych rokov. To sa pisalo, ako nam je dobre, ze v podstate vsetko vieme a chyba nam len vykon na trochu vyssi vykon, uz nikdy nebudeme programovat proceduralne a kecy k tomu. Teraz sa to vracia, ale asi to nie je na dlho.

No dnes máme automatický translátor jazyka, zavoláte na tu službu, váš spolubesedník do telefonu řekne něco čínsky a stroj to přeloží do angličtiny a řekne vám to svým hlasem. A to už je docela dost, že. Takovou službu má Microsoft, či Google, teď si ale nejsem jistý, kdo z nich.

Časem budete na help desku komunikovat se strojem a ani si to neuvědomíte.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 05. 11. 2016, 07:19:24
Vypravej nam jeste chvili o svych zkusenostech programatora samotare, prosiiiim (zaskemra rukama)

Lepiči a pojídači koláčů by mi to stejně nevěřili ;D
Co máš zase s koláčema tyvole

jeden jede na lopatách

druhej žvaní o koláčích

a pak se programátoři divěj že je ženský nechtěj

Ad koláče. To je generační záležitost, zasvěcení vědí :-)))
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Radovan. 05. 11. 2016, 08:06:49
Lepiči a pojídači koláčů by mi to stejně nevěřili ;D
Co máš zase s koláčema tyvole

Ty neznáš posvátné svitky? UTFG: http://www.logix.cz/michal/humornik/Pojidaci.Kolacu.xp

Navazuje na to časově předcházející text, hledej "Story of Mel", mám pocit že to má na webu i ESR.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Radovan. 05. 11. 2016, 08:27:06
No proti IDE jsou spíš mladí, starší jsou odkojeni Windows a tedy IDE. Mladí začínali s linuxem a pro ně přitažlivou magií bashe :-)))
Už ti konečně mladí pochopili, že ty staré věci obvykle fungují lépe než nové omalovánky? :-D
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Radovan. 05. 11. 2016, 08:35:55
usporneji? to snad chcete rict, ze vy umite lepe napsat vygenerovanej kod, kterej je zoptimalizovanej, nez samotne IDE? jo vy jste borec :D
Kde ve větě "Nehledě na to, že to co vygenruje IDE se dá min o 50% napsat úsporněji a přehledněji." vidíš něco o optimalizaci? Ručně napsaný kód na 10 řádků je určitě přehlednější než 150 řádků z IDE. A udržovatelnější...

Tohle vypadá na problém s pochopením psaného textu, takže se radši vrať do 1. třídy zvláštní školy. Utkvělé představy si ale musíš vyřešit se svým psychiatrem.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 05. 11. 2016, 09:10:32
No proti IDE jsou spíš mladí, starší jsou odkojeni Windows a tedy IDE. Mladí začínali s linuxem a pro ně přitažlivou magií bashe :-)))
Už ti konečně mladí pochopili, že ty staré věci obvykle fungují lépe než nové omalovánky? :-D
Tak omalovánky jsou dost staré, starší než linux :-)))
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 11:23:32
No proti IDE jsou spíš mladí, starší jsou odkojeni Windows a tedy IDE. Mladí začínali s linuxem a pro ně přitažlivou magií bashe :-)))
Už ti konečně mladí pochopili, že ty staré věci obvykle fungují lépe než nové omalovánky? :-D
Tak omalovánky jsou dost staré, starší než linux :-)))

Řeč je o omalovánkách, kterým se dnes říká IDE ;)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 05. 11. 2016, 11:38:43
No proti IDE jsou spíš mladí, starší jsou odkojeni Windows a tedy IDE. Mladí začínali s linuxem a pro ně přitažlivou magií bashe :-)))
Už ti konečně mladí pochopili, že ty staré věci obvykle fungují lépe než nové omalovánky? :-D
Tak omalovánky jsou dost staré, starší než linux :-)))

Řeč je o omalovánkách, kterým se dnes říká IDE ;)

I ty jsou samozřejmě starší než linux, Smalltalk, první omalovánkové IDE je z 80 let.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 12:03:45
I ty jsou samozřejmě starší než linux, Smalltalk, první omalovánkové IDE je z 80 let.

Obecně nemá moc smysl srovnávat automobil s motorem.

Celý operační systém se všemi knihovnami a aplikacemi je vlastně IDE. Někteří se to pokusili více či méně úspěšně nacpat do jedné aplikace, které se také začalo říkat IDE.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 05. 11. 2016, 12:26:57
I ty jsou samozřejmě starší než linux, Smalltalk, první omalovánkové IDE je z 80 let.

Obecně nemá moc smysl srovnávat automobil s motorem.

Celý operační systém se všemi knihovnami a aplikacemi je vlastně IDE. Někteří se to pokusili více či méně úspěšně nacpat do jedné aplikace, které se také začalo říkat IDE.

Tak Smalltalk byl omalovánkový? Byl. To co to IDE zpřístupňuje a že je náhodou totožné s ovládáním vlastního OS, je nepodstatné. Jinak IDE od Borlandu byly taky před linuxem.

Co charakterizuje IDE? Nemusíte se starat o proces sestavení aplikace po změně, a dříve motivací bylo inkrementální linkování, které urychlovalo vývoj, protože se aplikace nemusela sestavovat celá znovu, což na pomalých strojích trvalo docela dlouho, a bylo možno aplikaci spouštět ihned po provedené změně. A kolem toho byl vybudován uživatelský interface pro editování a ladění změn - IDE.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 13:02:31
Tak Smalltalk byl omalovánkový? Byl. To co to IDE zpřístupňuje a že je náhodou totožné s ovládáním vlastního OS, je nepodstatné. Jinak IDE od Borlandu byly taky před linuxem.

Co s tím má společného Linux? To přece nehraje žádnou roli. Udělej s/Linux/Unix/g a rázem to budeš mít obráceně.

Co charakterizuje IDE? Nemusíte se starat o proces sestavení aplikace po změně, a dříve motivací bylo inkrementální linkování, které urychlovalo vývoj, protože se aplikace nemusela sestavovat celá znovu, což na pomalých strojích trvalo docela dlouho, a bylo možno aplikaci spouštět ihned po provedené změně. A kolem toho byl vybudován uživatelský interface pro editování a ladění změn - IDE.

V tom případě mám také IDE: Vim + Make. Vše, co bylo vyjmenováno, tato dvojice splňuje - včetně prototypování a testování. Vše řízeno z Vimu. Moderní IDE mi nic moc navíc nenabízí.

Mnoho programátorů si myslí, že Vim je jen editor. Často ani netuší, že se v něm ty programy dají kompilovat, linkovat, testovat, generovat stuby, ...
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Rott 05. 11. 2016, 13:03:04
Tohle je zhruba seznam, proč IDE používám já:

Pokročilý refaktoring(jasně, jde to i ručně, ale...)
Chytrá práce s kódem(inspekce, autocomplete...)
Navigace v kódu(stromy, skoky na definice, ...)
Speciální nastavení nebo rovnou nástroje pro různé jazyky/konfigurace
Rozchození celých projektů jedním kliknutím
Snadná kompilace
Propojení s verzovacím systémem nebo FTP
Generování snippetů, šablon, makra
Lokální historie

Je mi jasné, že když si budu měsíc ladit VIM, tak to do něj možná v nějaké vzdáleně podobné kvalitě nějak dostanu. Ale proč bych to dělal? A proč by to ze mně mělo dělat lepšího programátora? Tady bych asi vzpomenul krásné české přísloví "žij a nech žít" - používej si, co jen chceš, piš ty kódy třeba na hajzlpapír a pak to přepisuj do notepadu, ale hlavně mi to proboha necpi.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 13:24:13
Tohle je zhruba seznam, proč IDE používám já:
...
Je mi jasné, že když si budu měsíc ladit VIM, tak to do něj možná v nějaké vzdáleně podobné kvalitě nějak dostanu. Ale proč bych to dělal? A proč by to ze mně mělo dělat lepšího programátora? Tady bych asi vzpomenul krásné české přísloví "žij a nech žít" - používej si, co jen chceš, piš ty kódy třeba na hajzlpapír a pak to přepisuj do notepadu, ale hlavně mi to proboha necpi.

Tohle mi Vim dělá.

Podle přísloví "žij a nech žít" nikomu Vim nevnucuji. Pouze mi vadí, když mi někdo vnucuje nějaké moderní zkryplené IDE. To je snad fér, ne?

Ve Vimu pracuje zhruba 25 % programátorů. Píší v něm i mnozí spisovatelé. Je snad jasné, že má právo na existenci.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 13:29:06
25 % špatných programátorů. Spisovatelé asi IDE používat nepotřebují.

Ale pokud si člověk patlá nějaké maličkosti ve skriptovacích jazycích, tak to může stačit. Jen to má daleko k normálnímu vývoji.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ivan Nový 05. 11. 2016, 13:37:41
25 % špatných programátorů. Spisovatelé asi IDE používat nepotřebují.

Ale pokud si člověk patlá nějaké maličkosti ve skriptovacích jazycích, tak to může stačit. Jen to má daleko k normálnímu vývoji.

Ale to vůbec není pravda, takový Marquez psal svá díla na počítači a velmi si pochvaloval, že mu opravuje chyby pravopisu (spelling).
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 13:47:41
A refactoring používal k čemu? Templates si tam dával na často opakované pasáže? Skákání po třídách mu hledalo kapitoly, ne?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: čumil 05. 11. 2016, 13:50:22
25 % špatných programátorů. Spisovatelé asi IDE používat nepotřebují.

Ale pokud si člověk patlá nějaké maličkosti ve skriptovacích jazycích, tak to může stačit. Jen to má daleko k normálnímu vývoji.
Já sem už viděl dost lidí s vimem, a obvykle patřili mezi ty lepší. Obecně mi přijde prace s vimem rychlejší než s IDE. Já ale vim nepoužívám, sem linej se ho učit
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 14:03:44
Lepší znamená co? Lepší než nejhorší? :D

Práce s Vimem nikdy nemůže být rychlejší, protože IDE se ovládá jen klávesnicí + má hromadu věcí navíc. VIM je super pro začátečníky a adminy.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 14:06:25
Práce s Vimem nikdy nemůže být rychlejší, protože IDE se ovládá jen klávesnicí + má hromadu věcí navíc. VIM je super pro začátečníky a adminy.

Vim se také ovládá jen klávesnicí a proti IDE má hromadu věcí navíc.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 14:19:58
Tak určitě, proto je tak rozšířený mezi vývojáři :D
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 05. 11. 2016, 15:44:10
Práce s Vimem nikdy nemůže být rychlejší, protože IDE se ovládá jen klávesnicí + má hromadu věcí navíc. VIM je super pro začátečníky a adminy.

Vim se také ovládá jen klávesnicí a proti IDE má hromadu věcí navíc.

:o 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 ;D.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 05. 11. 2016, 16:09:02
Citace
Pouze mi vadí, když mi někdo vnucuje nějaké moderní zkryplené IDE.
a ti ostatni ludia co s vami robia na projekte pouzivaju tiez vim?

resp. kolko ludi mate na projekte?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 16:11:04
Práce s Vimem nikdy nemůže být rychlejší, protože IDE se ovládá jen klávesnicí + má hromadu věcí navíc. VIM je super pro začátečníky a adminy.

Vim se také ovládá jen klávesnicí a proti IDE má hromadu věcí navíc.

:o 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 ;D.

Co mají všichni uživatelé IDE pořád s tím přejmenováváním metod? Pokud byste nevymýšleli ptákoviny, tak (skoro) nic přejmenovávat nemusíte. A těch pár případů udělám snadno i ve Vimu. Co chceš přejmenovávat třeba na názvech add() nebo update()?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Rott 05. 11. 2016, 16:20:21
To je marný. Jestli nechápeš, k čemu je dobrý refaktoring, pak naprosto nemá smysl řešit debaty editor vs IDE. A nesnaž se refaktoring degradovat čistě na přejmenování, to je jenom jeho malá část. Nejdřív naber trochu zkušeností z reálného světa, zkus si práci na pár větších projektech a pak se o tom můžeme třeba pobavit znova. Do té doby ahoj.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 16:22:50
Kite, víš o tom, že existují i větší projekty, kde prostě dvě stejně pojmenované metody na třídu nestačí? :D Prototypy také píšeš rovnou dobře? Dyť jsme to tu řešili už tolikrát a vždy to vyšlo, že jen neumíš programovat. Když se tě někdo zeptá, kolik máš v týmu lidí, tak děláš, že to nevidíš. Ale je jasné, proč to tak děláš. Nevíš, jak fungují normální projekty plné lopat, které to celé ničí. Je ti k ničemu vědět, jak pojmenovat metody, když Pepa z Indie to udělá jinak a dalších jeho deset kámošů také.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 16:26:50
To je marný. Jestli nechápeš, k čemu je dobrý refaktoring, pak naprosto nemá smysl řešit debaty editor vs IDE. A nesnaž se refaktoring degradovat čistě na přejmenování, to je jenom jeho malá část. Nejdřív naber trochu zkušeností z reálného světa, zkus si práci na pár větších projektech a pak se o tom můžeme třeba pobavit znova. Do té doby ahoj.

Jenže já dělám refaktoring zcela běžně. Jen do toho nepočítám přejmenovávání metod.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 05. 11. 2016, 16:41:41
To je marný. Jestli nechápeš, k čemu je dobrý refaktoring, pak naprosto nemá smysl řešit debaty editor vs IDE. A nesnaž se refaktoring degradovat čistě na přejmenování, to je jenom jeho malá část. Nejdřív naber trochu zkušeností z reálného světa, zkus si práci na pár větších projektech a pak se o tom můžeme třeba pobavit znova. Do té doby ahoj.

Jenže já dělám refaktoring zcela běžně. Jen do toho nepočítám přejmenovávání metod.

Jasne. Protoze vsichni to klasifikuji blbe a Kit spravne...
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 05. 11. 2016, 16:42:41
To je marný. Jestli nechápeš, k čemu je dobrý refaktoring, pak naprosto nemá smysl řešit debaty editor vs IDE. A nesnaž se refaktoring degradovat čistě na přejmenování, to je jenom jeho malá část. Nejdřív naber trochu zkušeností z reálného světa, zkus si práci na pár větších projektech a pak se o tom můžeme třeba pobavit znova. Do té doby ahoj.

Nech ho bejt! Je z celeho jednoclenneho teamu nejvetsi eso a to uz neco znamena!
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 16:45:25
Kite, víš o tom, že existují i větší projekty, kde prostě dvě stejně pojmenované metody na třídu nestačí? :D Prototypy také píšeš rovnou dobře? Dyť jsme to tu řešili už tolikrát a vždy to vyšlo, že jen neumíš programovat. Když se tě někdo zeptá, kolik máš v týmu lidí, tak děláš, že to nevidíš. Ale je jasné, proč to tak děláš. Nevíš, jak fungují normální projekty plné lopat, které to celé ničí. Je ti k ničemu vědět, jak pojmenovat metody, když Pepa z Indie to udělá jinak a dalších jeho deset kámošů také.

Na otázky jsem vybíravý.

Těch metod ve třídě nebývá zas tolik, abych si časem nemohl vyvinout jednotný a konzistentní způsob jejich pojmenovávání. I pro rozhraní přece platí pravidlo, že ho smíš rozšířit, ale nesmíš ho změnit.

Je mi vcelku u /dev/null, co si o mně myslíš.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 17:04:05
Kite, víš o tom, že existují i větší projekty, kde prostě dvě stejně pojmenované metody na třídu nestačí? :D Prototypy také píšeš rovnou dobře? Dyť jsme to tu řešili už tolikrát a vždy to vyšlo, že jen neumíš programovat. Když se tě někdo zeptá, kolik máš v týmu lidí, tak děláš, že to nevidíš. Ale je jasné, proč to tak děláš. Nevíš, jak fungují normální projekty plné lopat, které to celé ničí. Je ti k ničemu vědět, jak pojmenovat metody, když Pepa z Indie to udělá jinak a dalších jeho deset kámošů také.

Na otázky jsem vybíravý.

Těch metod ve třídě nebývá zas tolik, abych si časem nemohl vyvinout jednotný a konzistentní způsob jejich pojmenovávání. I pro rozhraní přece platí pravidlo, že ho smíš rozšířit, ale nesmíš ho změnit.

Je mi vcelku u /dev/null, co si o mně myslíš.

Nic si o tobě nemyslím, jen provokuji :) Jinak je jasné, že na velkých projektech bys s tvou svojí teorií brutálně pohořel.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 05. 11. 2016, 17:10:53
... I pro rozhraní přece platí pravidlo, že ho smíš rozšířit, ale nesmíš ho změnit. ...

citation needed

Proc bych jako svoje rozhrani v ramci modulu nemohl zmenit? IMO neni zase tak vzacne, ze i v ramci projektu se meni rozhrani. U vystavenych rozhrani to je asi spise vyjmecne, nicmene kdyz se to stane, tak radeji stravim 2s automatickym prejmenovavanim nez nekolik dnu manualnim.

Navic to prece musi vest k hroznemu kodu, kdyz problemy neopravujete, ale nabalujete nove metory (typu. add a addEx).
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 05. 11. 2016, 17:27:10
Citace
I pro rozhraní přece platí pravidlo, že ho smíš rozšířit, ale nesmíš ho změnit.
nevim jak u vas ale existuje mechanizmus major verzii projektov kde sa api moze menit

v1.0 design -> v2.0 deprecate -> v3.0 remove

neverim ze ste java api projekt kde breaknete api a vasich 1000 zakaznikov vam to otrepe o hlavu

Citace
Jenže já dělám refaktoring zcela běžně. Jen do toho nepočítám přejmenovávání metod.
no true scotsman

Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 05. 11. 2016, 17:28:27
jo a

kite,
kolko ludi mate na projekte?

lebo sa stavate ovcackom roota.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 17:35:53
... I pro rozhraní přece platí pravidlo, že ho smíš rozšířit, ale nesmíš ho změnit. ...
citation needed

To je přece jeden ze základních principů SOLID - OCP.

Proc bych jako svoje rozhrani v ramci modulu nemohl zmenit? IMO neni zase tak vzacne, ze i v ramci projektu se meni rozhrani. U vystavenych rozhrani to je asi spise vyjmecne, nicmene kdyz se to stane, tak radeji stravim 2s automatickym prejmenovavanim nez nekolik dnu manualnim.

Proč bych rozhraní měl měnit? To bych k tomu musel mít sakra vážný důvod. Snad mám nějaký návrh aplikace, podle kterého tu aplikaci vytvářím, ne? Veškerá rozhraní jsou jeho součástí.

Navic to prece musi vest k hroznemu kodu, kdyz problemy neopravujete, ale nabalujete nove metory (typu. add a addEx).

Co má být addEx? Pokud má třída splňovat SRP, tak může mít jen jednu metodu add(). Pokud bych potřeboval nějakou novou metodu (řekněme addEx), tak tu třídu musím nejprve refaktorovat, abych metodu s takovým názvem vůbec nepotřeboval - například rozdělením třídy. Obě třídy pak mohou používat metodu se shodným názvem add().
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 17:40:39
:D Co ta velikost projektu? Tohle neni možný dělat, pokud to celý nevedeš a i potom zase nemáš čas řešit takové detaily, protože máš třeba release. Nebo se to třeba celé posere a musíš to předělat během dvou dnů.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 17:41:10
Jak přebíráš práci po ostatních?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 05. 11. 2016, 17:41:19
... I pro rozhraní přece platí pravidlo, že ho smíš rozšířit, ale nesmíš ho změnit. ...
citation needed

To je přece jeden ze základních principů SOLID - OCP.


Bullshit.
Zalezi na vlastnictvi. Pokud vlastnis veskery kod, ktery to rozhrani muze pouzivat, tak s nim muzes delat, co chces. Pokud je v nejake podobe verejne, tak na nej nemuzes kompatibilne pro zmenu (az na vyjimky) sahat vubec. Protoze kdyz ho zmensis nebo zmenis, tak to odnesou konzumeri, kdyz ho rozsiris, tak prestanou fungovat cizi implementace.

(ostatne to je jeden z duvodu, proc je velmi casto lepsi do rozhrani davat abstraktni tridy nebo nejakou obdobu misto interface)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 05. 11. 2016, 17:46:21
Proč bych rozhraní měl měnit? To bych k tomu musel mít sakra vážný důvod. Snad mám nějaký návrh aplikace, podle kterého tu aplikaci vytvářím, ne? Veškerá rozhraní jsou jeho součástí.


Hahahahahahahahahaha.

Ha.
Ha.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 17:56:53
:D Co ta velikost projektu? Tohle neni možný dělat, pokud to celý nevedeš a i potom zase nemáš čas řešit takové detaily, protože máš třeba release. Nebo se to třeba celé posere a musíš to předělat během dvou dnů.

Když projekt průběžně udržuješ tímto stylem, tak se ti to nemůže nahromadit tak, že bys to za ty dva dny nezvládl. Kromě toho rozdělení jedné třídy na dvě je záležitostí několika okamžiků.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 18:00:53
:D Co ta velikost projektu? Tohle neni možný dělat, pokud to celý nevedeš a i potom zase nemáš čas řešit takové detaily, protože máš třeba release. Nebo se to třeba celé posere a musíš to předělat během dvou dnů.

Když projekt průběžně udržuješ tímto stylem, tak se ti to nemůže nahromadit tak, že bys to za ty dva dny nezvládl. Kromě toho rozdělení jedné třídy na dvě je záležitostí několika okamžiků.

Ale chápeš to, že tohle jde dělat jen tvém domácím projektu? Pokud tam máš lidi kolem, tak to dělat nebudou. Pak tam také budou lidi, kteří to platí a budou mít hromadu debilních nápadů. Product owner další. Pak tam bude i manažer, který se bude chtít ukázat, tak tam přidá další bordel.

Už?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 05. 11. 2016, 18:01:29
Citace
to bych k tomu musel mít sakra vážný důvod.

takze ste na projekte sam?

Citace
to bych k tomu musel mít sakra vážný důvod.

ja mam projekt kde sa poziadavky menia... a kde sa moze verzionovat.. a kde sa mozu metody refaktorovat a je to refaktorovanie premenovanim.

zvysok ako vravi satai.

ale vy ste sam. vylezete na horu. zakaznik sa vam prihovori. poziadavky vyryjete na kamene dosky.

sam nakodite vo vime.

sam odovzdate.

projekt nastavite na read only.

vase trapenie je u konca
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 05. 11. 2016, 18:03:29
Citace
Kromě toho rozdělení jedné třídy na dvě je záležitostí několika okamžiků.
ako konkretne to rozsekavate vo vime?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 18:13:12
Citace
Kromě toho rozdělení jedné třídy na dvě je záležitostí několika okamžiků.
ako konkretne to rozsekavate vo vime?

x :sp newClassName p
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 05. 11. 2016, 18:40:31
vdaka.

mam uz dve otazky:

1) moje vim-fu je biedne. chapem to tak zevas refactoring delenia triedy na dve pozostava z toho ze si otvorite nove okno s kopiou starej classy a editujete ho?
2) kolko ludi mate na projekte?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Radovan. 05. 11. 2016, 18:45:42
No proti IDE jsou spíš mladí, starší jsou odkojeni Windows a tedy IDE. Mladí začínali s linuxem a pro ně přitažlivou magií bashe :-)))
Už ti konečně mladí pochopili, že ty staré věci obvykle fungují lépe než nové omalovánky? :-D
Tak omalovánky jsou dost staré, starší než linux :-)))
Řeč je o omalovánkách, kterým se dnes říká IDE ;)
I ty jsou samozřejmě starší než linux, Smalltalk, první omalovánkové IDE je z 80 let.
Jo, a unixový shell je ještě o desetiletí starší. Nenavazoval náhodou na něco z Multicsu? To jsme někde v roce 1964.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 05. 11. 2016, 18:54:27
1) moje vim-fu je biedne. chapem to tak zevas refactoring delenia triedy na dve pozostava z toho ze si otvorite nove okno s kopiou starej classy a editujete ho?

Ne. Popsal jsem vyjmutí metody z původní třídy, vytvoření nového souboru s novou třídou a vložení metody.

Kromě toho můžeš metodu přetížit, takže se třeba 5 metod jedné třídy může jmenovat add(). Podle skutečného parametru třída pozná, co chceš přidat.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 05. 11. 2016, 21:07:01
Na tom není nic špatného dělat jen domácí projekty při škole. Sem tam nějaký webík v PHP. To dělalo plno studentů na střední. Otázkou je, jak moc jsou teoretické poučky z knížek reálně nasaditelné. Praxe ukazuje, že to není tak jednoduché, jak jsme si jako mladí studenti mysleli :D Tak jak, Kite, jak velký tým řídíš?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 06. 11. 2016, 11:37:17
Citace
Popsal jsem vyjmutí metody z původní třídy, vytvoření nového souboru s novou třídou a vložení metody.
aha

blahozelam

viete ze ked v projekte mate 10 tried co volaju metodu pvodonej triedy tak ste ich prave breakli a prepisujete ich rucne?

porovnajte intellij idea a "safe delete"

co na to vasi kolegovia na projekte?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 06. 11. 2016, 11:43:33
1) moje vim-fu je biedne. chapem to tak zevas refactoring delenia triedy na dve pozostava z toho ze si otvorite nove okno s kopiou starej classy a editujete ho?

Ne. Popsal jsem vyjmutí metody z původní třídy, vytvoření nového souboru s novou třídou a vložení metody.

Kromě toho můžeš metodu přetížit, takže se třeba 5 metod jedné třídy může jmenovat add(). Podle skutečného parametru třída pozná, co chceš přidat.

Clovece, bez nekam, kde te neco naucej. Samouk to ocividne ma o dost tezsi.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 11:58:40
Citace
Popsal jsem vyjmutí metody z původní třídy, vytvoření nového souboru s novou třídou a vložení metody.
aha

blahozelam

viete ze ked v projekte mate 10 tried co volaju metodu pvodonej triedy tak ste ich prave breakli a prepisujete ich rucne?

Těch 10 tříd přece dosud o této metodě nemělo ani tušení, protože není součástí rozhraní. Chybět jim nebude.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 06. 11. 2016, 12:04:04
Samouk není problém. Spíše naopak. Neznám nikoho s VŠ, kdo by něco uměl. Ale samozřejmě není samouk jako samouk. Samouk bez praxe může být problematický, zvlášť když soustavně zamlčuje velikost týmu :D
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 06. 11. 2016, 12:10:29
Citace
Popsal jsem vyjmutí metody z původní třídy, vytvoření nového souboru s novou třídou a vložení metody.
aha

blahozelam

viete ze ked v projekte mate 10 tried co volaju metodu pvodonej triedy tak ste ich prave breakli a prepisujete ich rucne?

Těch 10 tříd přece dosud o této metodě nemělo ani tušení, protože není součástí rozhraní. Chybět jim nebude.

Jinymi slovy umis vyresit trivialni problem a o tom poradnem se tvaris, ze neni dulezity :-D
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 12:15:52
Těch 10 tříd přece dosud o této metodě nemělo ani tušení, protože není součástí rozhraní. Chybět jim nebude.

Jinymi slovy umis vyresit trivialni problem a o tom poradnem se tvaris, ze neni dulezity :-D

Nejdříve přece vyřeším závislosti a pak mi z toho zbude jen takový triviální přesun.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 06. 11. 2016, 12:18:23
Citace
Těch 10 tříd přece dosud o této metodě nemělo ani tušení, protože není součástí rozhraní. Chybět jim nebude.

my sme si zabudli povedat ze sa bavime o rozhranich. ok

rovnako sme si zabudli povedat kolko ludi mate na projekte

ale skusim inak

Kód: [Vybrat]
class List {
  void add(item) {
    ...
  }

  void addAll(items) {
      for(item : items)
         add(item)
  }
}

ak si zmazete metodu add /vasim epickym refactorom ctrl-c, ctrlV/ tak ste

1 breakli vlastnu classu lebo ste breakli metodu addAll

2 breakli podclassy

mozete behat vimom po kode a hladat vyskyty a rucne ich redikterovat do vasho noveho classu v novom bufferi

to je urcite ako hovorite

Citace
je záležitostí několika okamžiků.

porovnajte intellij idea a refactory

Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 06. 11. 2016, 12:21:51
Citace
Nejdříve přece vyřeším závislosti a pak mi z toho zbude jen takový triviální přesun.
akym konkretnym sposobom "nejdrive prece vyresim zavislosti"?

ze vo vime rucne prepisete referencie na metodu ktoru presuniete?

anebo to delegujete na kolegy?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 12:38:47
Citace
Těch 10 tříd přece dosud o této metodě nemělo ani tušení, protože není součástí rozhraní. Chybět jim nebude.
ak si zmazete metodu add /vasim epickym refactorom ctrl-c, ctrlV/ tak ste ...

Bavili jsme se o smazání metody addEx(), nikoli add(), která tam patří.

Uvedený problém lze přece snadno vyřešit takto:
Kód: [Vybrat]
class List {
  void add(item) {
    ...
  }

  void add(items) {
      for(item : items)
         add(item)
  }
}

Při volání je mi jedno, zda přidám položku nebo seznam. Prostě add(item) nebo add(items).

Když se na to podíváš pořádně, tak to mé řešení dovede i traverzovat stromem a nasypat jeho položky do seznamu.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 06. 11. 2016, 12:51:05
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é?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 06. 11. 2016, 12:56:09
konecne sme v priklade!

pane kite, vy ste nevyriesili nic.

kedze mate selektivne citanie a mate nastaveny grep na otazky typu "kolko ludi mate na projekte" a ine tak zopaknem:

ak si zmazete metodu add(item) /vasim epickym refactorom ctrl-c, ctrlV/ tak ste

1 breakli vlastnu classu lebo ste breakli metodu addAll

2 breakli podclassy

mam viacero otazok:

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 ludi na projekte?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 06. 11. 2016, 12:56:43
EDIT bodu 1 spravne znenie je

1 breakli vlastnu classu lebo ste breakli metodu add(items)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 13:19:19
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.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 06. 11. 2016, 13:21:24
kite

to ze sa vyhybate odpovedi znamena ze placate nesmysly? chodite si sem zatrollovat?

pre opakovanie:

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?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 13:24:49
ak si zmazete metodu add(item) /vasim epickym refactorom ctrl-c, ctrlV/ tak ste
1 breakli vlastnu classu lebo ste breakli metodu addAll
2 breakli podclassy

Kdybych tohle skutečně udělal, což je nepravděpodobné, mohl bych říct jen tohle:
https://www.youtube.com/watch?v=v0ihbxxndCU (https://www.youtube.com/watch?v=v0ihbxxndCU)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 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?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 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čí.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 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
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 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
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 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.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 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
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 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.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 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.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: perceptron 06. 11. 2016, 14:20:08
jo a aby sme nezabudli: kolko ludi je potrebnych na vasom projekte?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 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.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 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ů
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Lama 06. 11. 2016, 17:27:46
Máš pemprs? Pemprs zůstanou suché i když se pokakadůkaž.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: noef 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.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Lama 06. 11. 2016, 17:49:43
Některé diskuse vypadají jako absurdní jednoaktovky od vejpitky Hejvla.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Ondra Satai Nekola 06. 11. 2016, 17:52:00
Máš pemprs? Pemprs zůstanou suché i když se pokakadůkaž.

Eugene Ionesco nic? :-/
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 17:59:42
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?

Pouze jsem uvedl, že to, co se v Haskellu dělá běžně, to se v Javě ostrakizuje. Na pořadí si nestěžuji. Přístup Haskellu se mi líbí, jen je nutné si na to občas dávat pozor.

Jistě, stráže se v Haskellu také dají použít, ale osobně dávám přednost "přetížení", pokud je to možné.

Víc než přetěžování by javistům mělo vadit nadměrné používání operátoru "instanceof", který z metody dovede udělat paskvil.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: v 06. 11. 2016, 18:10:29
Máš pemprs? Pemprs zůstanou suché i když se pokakadůkaž.

Eugene Ionesco nic? :-/
IMHO to není nejslavnější věta z té hry :)
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 06. 11. 2016, 18:11:23
Instanceof používají lemplové. Běžně se to používá pro větvení programu a je to asi na úrovni tvých oblíbených if/else. Jenže kdybys někdy dělal na větším projektu, tak víš, že bys tam měl generické všechno a instanceof také. Těžko říct, jestli je to nutné, ale třeba máš lepší řešení. Jak teda řešíš, když máš 20 druhů podobných dat, které potřebuješ stejně řešit v Javě?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 18:19:14
Instanceof používají lemplové. Běžně se to používá pro větvení programu a je to asi na úrovni tvých oblíbených if/else. Jenže kdybys někdy dělal na větším projektu, tak víš, že bys tam měl generické všechno a instanceof také. Těžko říct, jestli je to nutné, ale třeba máš lepší řešení. Jak teda řešíš, když máš 20 druhů podobných dat, které potřebuješ stejně řešit v Javě?

Nacpu jejich chování do těch 20 tříd a pracuji s nimi polymorfně. Nemám žádné else, natož oblíbené.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 06. 11. 2016, 18:25:50
Takže kompletně bez generik, protože máš instance plné potřebného kódu?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 18:35:34
Takže kompletně bez generik, protože máš instance plné potřebného kódu?

Tímto delegováním se projekt dost zjednoduší, protože když přidám 21. třídu, tak na těch předchozích 20 nemusím sáhnout a dokonce nemusím sáhnout ani na třídy, které s tou novou instancí pracují.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: javaman (( 06. 11. 2016, 19:05:27
Zní to zajímavě a určitě je to dost OOP přístup. Takže generika pak vůbec nepotřebuješ?
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Kit 06. 11. 2016, 19:06:58
Zní to zajímavě a určitě je to dost OOP přístup. Takže generika pak vůbec nepotřebuješ?

Generika nepoužívám. V PHP stejně nejsou.
Název: Re:Pravidla pro pojmenování proměnných
Přispěvatel: Lama 07. 11. 2016, 03:17:27
Máš pemprs? Pemprs zůstanou suché i když se pokakadůkaž.

Eugene Ionesco nic? :-/

A co, chodíte spolu kakadukat? Tohoto soudruha neznám, ale když už, tak Andras Jelky je borec. O takových soudruzích by se měly točit filmy, kam se hrabe Rambo

https://cs.m.wikipedia.org/wiki/Dobrodru%C5%BEstv%C3%AD_Andr%C3%A1se_Jelkyho