IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskusia – Vlastné progressbar v C #

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:18.11.2012 17:55

Hezký tutoriál, měl by ses jen naučit jmenné konvence v C#. Proměnné se píší velbloudiNota­ciBezPodtrzitek a metody se píší podobně, jen s VelkymPismenem­NaZacatku. V kódu vidím jednou mouse_x jako proměnnou a poté Value. Mělo by tam být mouseX a value, je to důležité pro orientaci v kódu.

Odpovedať
18.11.2012 17:55
New kid back on the block with a R.I.P
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na David Hartinger
Theodor Johnson:18.11.2012 21:22

Díky za radu, zaměřím se na to

Odpovedať
18.11.2012 21:22
Mo8ilε 15 Ѐλđ
Avatar
Odpovedá na Theodor Johnson
taraldarion92:19.11.2012 23:42

Urcite bych takhle negeneralizoval, nekdo treba dava prednost psat public metody a promene s velkym pismenem a private s malym (imho velice dobre a prehledne pouzivaji i v Microsoftu :) ), nekdo ma zase rad podtrzitka, dulezita je hlavne konzistence (ktera zde neni uplne presna viz mouse_x a Value :) ). Navic pri praci na jakemkoli projektu ve vice lidech se muze pouzivat jista konvence a diskuze opravdu neni na miste. Kazdopadne o tom programovani neni, nenech se zavalit hloupostmi :)
Pekny tutorial mimochodem :)

 
Odpovedať
19.11.2012 23:42
Avatar
Kit
Tvůrce
Avatar
Odpovedá na taraldarion92
Kit:20.11.2012 7:58

V různých firmách mohou být ty konvence odlišné a netýkají se jen velikosti písmen. Určitě je dobré si nějaký standard vypěstovat i pro sebe, nejlépe odvozený od nějakého existujícího. Možná jsou v některých firmách i validátory, které nepustí do hlavního repozitáře kód, který tento standard nesplňuje.

Rozdíly v konvencích jsou i mezi jazyky. V některých se dodnes píší klíčová slova velkými písmeny, v jiných se píší velkými názvy proměnných nebo funkcí.

Všechny tyto konvence byly vytvořeny jen kvůli snadné orientaci v programech. Třeba jen samotného autora, ale hlavně kvůli spolupráci skupiny.

Program v článku moc prohřešků proti běžným konvencím neobsahuje. Viděl jsem i tady mnohem horší.

Odpovedať
20.11.2012 7:58
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na taraldarion92
David Hartinger:20.11.2012 10:53

Já bych takto určitě generalizoval. Konvence jsou spjaty hlavně s jazykem, např. v Javě nebo PHP jsou metody camelCase s malým písmenem, podtržítka máš třeba v Ruby, tam zas neuvidíš camelCase. Celý .NET framework je napsaný pomocí konvencí, které jsem zmínil výše, se podívej jak se jmenují všechny metody ve všech knihovnách. Používat cokoli jiného je špatně, pokud ti to nenařídí tvůj zaměstnavatel a nemá k tomu nějaký důvod (např. kompatibilitu s kódem v dalším jazyce). Ohledně privátních metod a parametrů se z historického důvodu občas používá podtržítkový prefix.

Odpovedať
20.11.2012 10:53
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:20.11.2012 14:18

Pokud by to mělo být jak píšeš, nebylo by špatné, pokud by to kompilátory označovaly warningy. Případně volitelně. Podobně by mohly zpracovávat chybné odsazení, příkazové závorky, které nejsou pod sebou apod. V tomto směru vede asi Python, protože ten určitou kulturu zápisu vyžaduje přímo v syntaxi.

Odpovedať
20.11.2012 14:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na David Hartinger
taraldarion92:20.11.2012 14:36

Bohuzel ani s tim php nemas pravdu, prakticky kazdy framework ma/muze mit trochu jine konvence viz stackoverflow­.com/question­s/332831/best-practices-for-naming-conventions
Souhlasim s tim ze je rozumne zrovna v C# nepouzivat podtrzitka protoze to je jako pest na oko a vetsina lidi to nedela, ale jak jsem rekl, vubec nezalezi jakou konvenci clovek pouziva, hlavne kdyz je konzistentni. Dlasi diskuze by mohla byt o psani zavorek, mezer a podobne. Vsechno je to pro citelnost dulezite ale jestli clovek pise
if(true){
}
nebo
if(true)
{
}
je opravdu irelevantni za predpokladu ze se jednoho zpusobu drzi v celem kodu.

Jeste dodam ze vyhoda private/public male/velke muze byt predevsim u properties.
private int value;
public int Value { get; set; }
od toho uz neni daleko k tomu psat s velkym public a s malym private atributy
(podtrzitkovy prefix v caseSensitive c# neni nutny). A znovu dulezita vec: dava to smysl a je to konzistentni a nevidim duvod proc to nepouzit.

Jak jsem rikal, nikdo by se v konvencich kodovani nemel prilis utopit, na co je takove krasne napsane exponencialni reseni ze? :)
To je odeme vse, diskuze je dost nesmyslna, navic pod cizim tutorialem :)

 
Odpovedať
20.11.2012 14:36
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na taraldarion92
David Hartinger:21.11.2012 7:01

PHP je kapitola sama pro sebe, nebyl to odemne nejlepší příklad. Konvence vycházejí z interních struktur daného jazyka, PHP má samo konvence nekonzistentní, viz funkce strtr(), dále mysql_real_es­cape_string() nebo dokonce htmlspecialchar­s_decode(). Proto je zrovna u něj velký bordel umocněný tím, že starší verze byly neobjektové. Od pětky se uplatňuje konvence, kterou jsem uvedl, starší frameworky co nechtějí přepisovat zdrojáky mohou mít konvence špatně, ale to je dané jen nízkou kvalitou jazyka.

S psaním závorek a mezer s tebou nesouhlasím, to je něco úplně jiného. To se přeci nastaví v IDE a člověk to může u celého projektu během okamžiku automaticky přeformátovat. Měnit jména metod nebo atributů již není tak triviální, je to zásah do logiky.

Tvou výhodu velké/malé u vlastností nechápu. Uvedl jsi atribut value, ten je s malým písmenem, protože je to atribut. Uvedl jsi vlastnost Value, ta je s velkým, protože vlastnost je metoda, čili je to podle konvence, co jsem uvedl výše. Moc nechápu, proč bych měl vlastnost a atribut se stejným jménem, možná si to pleteš se starší verzi C#, kde se vlastnosti negenerovaly automaticky, nyní stačí jen to Value { get; set; }.

Diskuze mi nepřijde nesmyslná a rád ji později přesunu do fóra, aby zde nestrašila.

Editované 21.11.2012 7:11
Odpovedať
21.11.2012 7:01
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na taraldarion92
David Hartinger:21.11.2012 7:35

"public metody a promene s velkym pismenem a private s malym (imho velice dobre a prehledne pouzivaji i v Microsoftu) " - Teď mi to došlo, ty si totiž jen pleteš field a property, tedy atribut a vlastnost. Protože vlastnosti jsou vždy veřejné (privátní nemají smysl) a atributy téměř vždy privátní (co jde ven je většinou vlastnost), myslíš si, že viditelnost určuje velikost písmene. Je to ale tak, že atribut je atribut a vlastnost je metoda. Viditelnost s tím nemá nic společného.

Editované 21.11.2012 7:37
Odpovedať
21.11.2012 7:35
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:21.11.2012 7:46

Uniká mi, proč privátní vlastnosti nemají smysl.

Odpovedať
21.11.2012 7:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!