To je opravdu vtipné. Když si koupíte třeba Big Mac, tak platíte mimo jiné za práci na jeho přípravě, za práci na poli kde pěstovali pšenici a zeleninu, za práci v pekárně kde pekli housku atd. Dochází vám, že vyšší platy znamenají také vyšší ceny zboží?
Jestli si to nemyslíte, tak vyjeďte na výlet třeba do Norska. Zkuste si srovnat tamní platy a tamní ceny. Mimochodem tam Big Mac stojí 6.79 USD, kdežto v Praze 2.98 USD. Po návratu nám můžete vyprávět, jaký nesmysl je parita kupní síly :D
Když jsme u těch nízkých platů: díky nízkým cenám to také znamená, že si z toho nízkého platu poměrně hodně koupíte. A pro celou zemi to znamená mimo jiné nízkou nezaměstnanost. Tu máme mimochodem nejnižší v EU. Chtěl bych vidět, jak byste se tvářil třeba na 19.6% nezaměstnanost, jakou mají ve Španělsku.
No tak to je ale taky trochu pritazene za vlasy ze jo...
Copak v cr se kupuji jen ceske prodkutky vyrobene za ceske mzdy? Asi ne. Spousta z nich je prodavana celosvetove za celosvetove ceny. Vsechny energie a na ne navazane produkty (doprava, letenky, plyn, elektrina... nemovitosti, najmy).
Takze si sice muzeme koupit ceskou housku za cenu ceskych nakladu, ale uz si nemuzeme koupit ceskou elektrinu, protoze ta se prodava za svetove ceny, stejne tak jako se za svetove ceny prodavaji dovolene, letenky, elektronika, bila technika, automobily a jine.
Takze pokud chcete sedet doma na zadku a konzumovat ryze české produkty, pak pokud mate stesti a necpe se sem zahranicni konkurence, muzete dostat ceskou cenu. Vsude jinde dostanete tu minimalne evropskou ale spise svetovou.
Tohle je v podstatě učivo ze základů ekonomie na SŠ, ale můžeme si dát rychlé a zjednodušené opáčko.
Na začátku je tzv. spotřební koš. Ten zahrnuje věci a služby, které nakupuje průměrný občan. V tom koši najdete vůz ŠKODA YETI 2,0 TDI (81KW) 1 ks, váha 0,647718‰; PEUGEOT 308 1.2 PureTech ACCESS (82k) 1 ks, váha 0,948228‰; 1 jízdenka MHD, váha 0,704391‰; KYTARA ŠPANĚLSKÁ 1 ks, váha 1,557634‰. Je toho 15 stránek, včetně ubytování, dovolených, spodního prádla, marmelády, elektřiny, kondomu, krmiva pro psa, půjčovného za lyže atd. Český statistický úřad pak sleduje průměrné ceny.
https://www.czso.cz/documents/10180/23195394/spot_kos2017.pdf/dde29b02-7fd6-4c42-8144-3a9afc27eaa7?version=1.1
Čistě pro ilustraci: první věc ke které je spotřební koš dobrý je stanovování inflace (resp. indexu spotřebitelských cen). Každý měsíc se vyhodnotí cena celého koše. Pokud cena koše roste, tak je dráž než minulý měsíc. Pokud klesá, je levněji než minulý měsíc.
Další zajímavá věc je za kolik koupíte ten samý spotřební koš v jiné zemi. Řekněme že v Německu vás vyjde o půlku dráž než v ČR. To znamená, že když Němec dostane o půlku vyšší výplatu než Čech, tak si vůbec nepomůže, protože díky vyšším cenám si toho může koupit jen tolik, jako ten Čech. To je podstata parity kupní síly.
Je teď už jasné, že parita kupní síly počítá s tím že kupujete i zboží vyrobené mimo zemi, ve které žijete?
Pokud jde o cestování, tak existují země dražší (spotřební koš tam koupíte dráž) i levnější (spotřební koš tam koupíte levněji). Nemusíte nutně jet do drahého Norska nebo Švýcarska. Můžete jet do levného Lotyšska, Litvy, Bulharska, na Ukrajinu, ze vzdálenějších zemí je levné Mexiko, vnitrozemní Čína, Indonézie, Thajsko, Egypt, Indie atd.
Pokud jde o situaci v ČR, tak samozřejmě je co dohánět. Když v devadesátých letech ekonomové říkali, že ČR nedohoní Německo ani za 20 let, tak měli zjevně pravdu. Ale kdo s tím může něco udělat? Češi, nikdo jiný. ČR potřebuje jednoduché a dobře vymahatelné zákony, potírat korupci, nízké daně s vysokou úspěšností jejich výběru, potírat byrokracii, kvalitní školství v oborech STEM, dobrou výuku jazyků, lepší infrastrukturu, a obecně podporu podnikatelů. A podívejte se, jak se vládám daří tyhle zjevně nezbytné cíle naplňovat. Není to úplná katastrofa, ČR není Afganistán, a dokonce ani Bulharsko. Ale mohlo - a mělo - by to být výrazně lepší. Možná by národ měl příště u voleb myslet méně na obličej politika, nebo na to jestli křičí kvůli uprchlíkům (kteří v ČR nejsou a nechtějí) a mává u toho vlajkou, a spíš se změřit na to, jaké má předpoklady zemi vést k úspěchu.
No vyborne :-)...
Tak kdyz jsme si to ted všechno tak hezky zopakli, zkuste vysvelit, proc kdyz do CR prijde firma ze zahranici, da mistnim programatorum nebo mistnim delnikum o dve tretiny nizsi platy...
Pokud bude vase odpoved protoze partia kupni sily a protoze produktivita, .... pak si znova prectete prispevek Jokajoke a zamyslete se jeste jednou nad tim co jste napsal. Treba vas to trkne.
A pokud vas ani to netrkne, tak si pak zkuste odpovedet na otazku, "Co brani zahranicni firme jit sem a nasadit tady stejne postupy a stejne platy jako v zahranici?"
A co brání české firmě dát svým zaměstnancům stejné platy jako v zahraničí? Když jsme u toho, tak tím zahraničím máte na mysli Švýcarsko, Indii, nebo nějakou jinou zemi?
Jak už psal kolega, platy a další ceny jsou dané nabídkou a poptávkou. Když vyjedete do Indie nebo do Švýcarska, tak tam pochopitelně platíte tamní ceny dané tamní nabídkou a poptávkou.
Zkuste se ale zamyslet nad jinou věcí: proč firmy vůbec otevírají pobočky v jiné zemi? Proč řekněme Ford otevřel továrnu v mexickém Hermosillo? Protože mexické ceny jsou nižší. Kdyby to vyšlo nákladově stejně jako v USA, tak by jaksi postrádalo smysl tu továrnu stavět někde mimo USA. Podobně Red Hat má vývojové centrum v ČR, protože je to levnější. Kdyby to nebylo levnější, neměli by důvod jít do ČR.
Ta ekonomická výhoda sice často vychází z nižších mezd, ale ne vždy. Může to být o ceně nebo době trvání dopravy na místo prodeje, dostupnosti dodavatelů a surovin, a tisíci dalších věcech.
Pokud jde o produktivitu práce, tak ta určuje poptávku firem. Když váš průměrný zaměstnanec díky nízké produktivitě práce za měsíc přinese svou činností do firmy 20000 Kč, tak mu těžko můžete platit 30000 Kč, protože byste prodělal. Od toho se odvíjí nabízené mzdy, s tím že zaměstnavatel zaplatí jen tolik, aby získal odpovídající zaměstnance. Zaměstnanci zase preferují co nejvyšší mzdu, a půjdou s ní dolů jen tolik, kolik musí, a za 11000 Kč v ČR programátora fakt neseženete. Předpokládám že tenhle graf znáte:
https://en.wikipedia.org/wiki/Supply_and_demand#/media/File:Supply-and-demand.svg
Je jasne, ze tato debata patri na jiny server. Proto uz v tom nehodlam dale pokracovat (muj posledni prispevek na toto tema na tomto serveru). Je taky jasne, ze je tezke prit se s nekym kdo kontruje skripty prvniho rocniku katedry statistiky a pravdepodobnosti VSE . Neslysel jsem zadny vlastni nazor... jen odkazy na teorie a samozrejme presny popis toho jak funguje kapitalismus (mimochodem pro ujisteni jediny do dnesnich dni funkcni system).
Co se ale za nim skryva si nepripoustite, nebo nechcete pripustit. Firma se urcite nerozhodne prestehovat do thaiska tovarnu proto - ze NABIDKA A POPTAVKA !!... Rozhodne se ji prestehovat proto, ze naklady = deleno 100 oproti vyrobe v domaci zemi (tedy podtrhnu stavajici zamestnance v materske zemi a zaroven podtrhnu nove zamestnance v nove zemi - dostanou 100x mene zaplaceno). Toto chovani je sice pochopitelne... firmu zakladame pro to, abychom vydelali poradny balik. Ale taky je zrejme ze pokud chci vydelat poradny balik, na druhe strane musi existovat nekdo, koho o ten balik oberu. Zadny altuismus, zadna nabidka a poptavka...
A tento vysledek pak popiseme pomoci standardniho ekonomickeho modelu.
Netvrdim ze co pistete neni pravda.. jen tvrdim ze to co pise Jokajoke je taky pravda, ktera vam jaksi mezi standardnimi ekonomickymi pouckami unikla ze zretele.
Ony ty standardní ekonomické poučky mají tu výhodu, že při jejich aplikaci nezapomenete na půlku transakce, jako se to děje Jokajokovi. Když odcházíte z obchodu, můžete vykřikovat, jak je to hrozné, že máte o 9 Kč méně, nebo si můžete vzpomenout na standardní ekonomické poučky, že je to vždy něco za něco, uvědomit si, že jste v obchodě sice nechal 9 Kč, ale zase máte navíc 3 housky, které pro vás mají hodnotu alespoň těch 9 Kč. A rázem ty Jokajokovoy „pravdy“ přestávají být pravdami.
Pokud chcete vydělat pořádný balík, nemusí to znamenat, že o ten balík někoho oberete. Představte si, že jdete s kamarádem na výlet, má být horko, tak se s sebou vezmete hodně vody. A cestou zjistíte, že vidíte spoustu krásných kytek a scenérií, ale zapomněl jste si doma baterku do foťáku. Váš kamarád má zase žízeň, protože doma zapomněl vodu, za to má náhradní baterku do foťáku. Když on vám půjčí baterku do foťáku a vy jemu dáte část své vody, oba na tom dost vyděláte, ale obrán nebyl nikdo. To je totiž princip obchodu – vy máte něco, co má pro někoho jiného vyššího hodnotu, a on má zase něco, co má vyšší hodnotu pro vás. To je ta nabídka a poptávka. Což neznamená, že není možné „podnikat“ i tak, že někoho oberete – ale není to nutné.
Slibuji co jsem slibil... odvolávám co jsem odvolal. Na toto ještě opravdu musím zareagovat...
Vybral jste opravdu nádherný příběh... ten nejhezčí jaký jste mohl... já tedy zase na oplátku vyberu jeden z těch nejhorších ok?
https://zpravy.aktualne.cz/zahranici/delaji-pro-nike-a-adidas-nemaji-co-jist/r~i:article:160981/?redirected=1497821520
1. Neziskovka Oxfam už ten report (mimochodem 11 let starý) nemá na svých stránkách k dohledání. Nevím proč ho stáhli.
2. Západní společnost si najme v nějaké levné zemi místního subdodavatele. Pokud subdodavatel nedodržuje tamní zákoník práce, proč je z toho viněna ta západní společnost? Pokud ta země nemá odpovídající zákoník práce, nebo ho nevynucuje, opět se ptám: proč je z toho viněna ta západní společnost?
3. Šičky jsou nekvalifikovaná (a často negramotná) pracovní síla, pracující více-méně za minimální mzdu. To že si v roce 2006 za měsíc údajně vydělaly 2000 Kč je pro ně nejspíš zajímavá částka, protože jinak by šly jinam. Nabídka a poptávka.
5. V Indonésii průměrná mzda ve výrobním sektoru za posledních 10 let narostla asi na 5.5-násobek.
https://tradingeconomics.com/indonesia/wages-in-manufacturing
6. Vzhledem k postupující automatizaci výroby postupně (pomalu) dochází k přesunu výroby zpátky do rozvinutých zemí. Můžete se zeptat obyvatel poblíž nějaké zavřené továrny v rozvojovém světě, jestli je lepší mít práci za peníze které pro ně byly zajímavé, nebo jestli preferují být bez práce. Předpokládám že když jim řeknete "sice teď už fakt nemáte co jíst, ale zase nemusíte otročit pro Adidas nebo Nike a jste svobodní", tak po vás začnou házet kameny.
Ad je tezke prit se s nekym kdo kontruje skripty prvniho rocniku katedry statistiky a pravdepodobnosti VSE - to jsou základy ekonomie, a jak jsem psal, podle mě je jsou to takové základy, že to musí být už středoškolské učivo. Když někdo napíše Parita kupní síly je jen blábol, aby nás tady uchlácholili a "ospravedlnili", že máme tak malý platy.. Stejně jako takzvaná produktivita...., tak tyhle základy zjevně nezná.
Ad Firma se urcite nerozhodne prestehovat do thaiska tovarnu proto - ze NABIDKA A POPTAVKA !!... Rozhodne se ji prestehovat proto, ze naklady = deleno 100 oproti vyrobe v domaci zemi - to je věc kterou si tak moc "nechci připustit", že jsem ji popsal těmito slovy: proč firmy vůbec otevírají pobočky v jiné zemi? Proč řekněme Ford otevřel továrnu v mexickém Hermosillo? Protože mexické ceny jsou nižší. A zároveň sem u toho psal, že kdyby firmu americkou vyšla produkce v Thajsku stejně draho jako v US, tak by pochopitelně továrnu v Thajsku neotevírala. To že je v ČR nejnižší nezaměstnanost v EU je dané hlavně tím, že je zdejší práce proti Německu a Francii relativně levná.
Ad tedy podtrhnu stavajici zamestnance v materske zemi a zaroven podtrhnu nove zamestnance v nove zemi; dostanou 100x mene zaplaceno - to je úplný nesmysl. Zaměstnanci přece nemají žádný "nárok" na svůj job. To je stejně směšné, jako kdyby si lovec mamutů myslel, že má "nárok" na to, aby každý den našel a ulovil. Když firma zaměstnance nepotřebuje, dostanou výpověď odloženou o X měsíců, odstupné, v případě potřeby podporu v nezaměstnanosti, rekvalifikaci atd. To jsou velmi dobré podmínky.
Pokud jde o zaměstnance v Thajsku, tak ti jsou rádi, že mají dobře placenou práci. To že dostanou v souladu s nabídkou a poptávkou zaplaceno za svou práci není žádný podtrh, ale naopak výhoda pro ně. A jak jsem psal, místní ceny platíte i vy když jedete na dovolenou, ať už jedete do Švýcarska nebo to Thajska. A do toho Thajska pojedete nejspíš právě proto, že jsou tam nižší ceny.
no lepsi je to ve chvili, kdy to otevres v necem jinem.
kod s mezerami vypada kdekoliv stale stejne.
kod s tabulatory vypada v kazdem editoru jinak.
to je ten nejvetsi problem s tabulatory... nevim jestli je na sirku tabulatoru nejaka norma nebo neni, ale uz jsem se na to tolikrat nachytal ze naprosto rozumim tomu, kdo pouziva primarne mezery
Tabulator je jeden znak. Proto je to konzistentni. To jak se ti to zobrazuje je veci v cem se na to koukas (prave pro to jsem odkazoval na EditorConfig, ktery ma podporu ve vetsine editoru). A prave tady vidim nejvetsi prinos. S mezerama si musim pamatovat, ze ve stejnem projektu developeri HTML/JS radi pouzivaji 2 mezery, a developeri backendu (treba python) 4. Hlavne kdyz pak jeste clovek prejde na jinej projekt, kde je zase neco jineho, to uz je lahudka .)
Nevidite druhou stranu problemu. Ta je takova, ze mate jeden kod (napriklad nejaky skrip) a ten nasazujete teoreticky u stovky zakazniku na tisici pocitacich (ne na kazdy z nich - pouze poukazuju na pocet moznych variant). Editor ktery je u jednoho zákazníka povoleny je u jineho zakazany nebo neni nainstalovany atp...
Není mozne na tisicich pocitacu travit stovky hodin tim, ze nastavujete prostredi tak aby krasne zobrazovalo vase skripty. S mezerami proste zadny problem nemate. Jak jej vidite u sebe, tak je uvidite i u zakaznika. Bez toho abyste se museli otravovat tim, jestli to otevrete v notepadu, vs xml editoru, gvimu, pspadu, notepadu++, freecomanderu, totalcomanderu, netbeans, vs, eclipse atp...
Stale uvidite ten samy vysledek.
Uplne super pak je kdyz kazdy programator pouziva jinou konfiguraci tabulatoru a vzajemne si preukladaji soubory, vkladaji casti kodu atp... Co pak jeden vidi dokonale zarovnane ma jiny totalne rozsypane. Tyto problemy mezery zcela eliminuji.
To je zas argument jak z minulého století - kdysi dávno, to bylo ještě za války, existovaly editory, které možná neuměly správně zpracovat tabulátory...
Pokud musí někdo nastavovat editor, aby mu správně zobrazil jeho kód, tak je s tím kódem něco hodně špatně, bez ohledu na to, zda používá k odsazování mezery nebo tabulátory.
Je-li tabulátor používán jako znak pro odsazení, je úplně jedno, jak si kdo nastaví editor a jaké kdo má preference, kód vždycky uvidí korektně, vždycky jej odsadí korektně a je to zcela transparentní pro všechny v týmu, u zákazníka, v jakémkoli editoru.
Naopak, právě mezery vyžadují specifickou konfiguraci pro projekt a vedou k problémům při copy-paste mezi různými projekty.
Ta posledni veta je nejvetsi chujovina. Prave na to coding standards jsou - aby to v jednom projektu vypadalo jednotne bez ohledu na vyvojare. Je uplne jedno jestli je ten standard pro nekoho dobry nebo blby, podstatny je ten fakt, ze je to standard. Uplne to same je framework - neni podstatny ktery z nich je nejlepsi, je podstatny pouzivat nejaky protoze svym zpusobem definuje standardy.
Stejne vetsina mezeraru macka tabelator a IDE jim z toho dela mezery.
Mezery. Protože je snazší udržet konzistenci ve větím projektu. Tabulátor jde v editoru / IDE vždy nastavit na určitý počet mezer. Opačně to prostě nejde.
Kecáte. Tabulátory jdou (z jakéhokoliv důvodu) překonvertovat na mezery, protože tabulátory jsou prostředkem určeným k jediné věci, a to odsazování. Ale mezery budete těžko konvertovat na tabulátory, protože jste jim přiřadila mimo významu oddělovače (a kdoví čeho ještě) i význam odsazovače, který nerozeznáte.
A co uděláte, když vám opticky/ergonomicky nebude vyhovovat velikost odsazení (některým stačí 2 místa, jiní chtějí 6 či 8) natvrdo zakódovaného mezerami? No nic, vizte výše.
Myslela jsem tím, že se dá nastavit vypsání určitého množství mezer po stisknutí tabulátoru. Což je zároveň default ve většině IDE co znám.
Nenadělám nic, no. Stejně jako nenadělám nic, pokud se někdo rozhodne formátovat kód jiným mně nevyhovujícím způsobem. Ano, líbí se mi co odsazení tabulátorem umožňuje, ale ty nevýhody jsou pro mě větší, osobně nemám problém orientovat se v libovolném odsazení (dokud se nějaký psychopat nerozhodne odsazovat o znak, ale to jsem ještě neviděla)
Nefunguje to při zarovnávání zalomených řádků pod sebe:
int function( Type1 param1,
Type2 param2 );
Nefunguje to při zarovnávání, kdy tabulátor nezačíná na začátku řádku:
Type value; AnotherType anotherValue;
Dá se to řešit mícháním tabulátorů a mezer, ale je to dost oser, který se každou chvíli rozbije, když někdo použije jinou velikost kroku, protože někdo někde zaručeně použije tabulátor místo mezery nebo naopak.
Jen mě možná trochu mrzí přístup ke značkovacím jazykům. Lidi, co by si běžně při hádce, jestli dva nebo čtyři znaky, vypíchli oči, se paradoxně při psaní xml nebo html chovají jako totální prasata. Ideálně ať je to všechno na jediném kilometrovém řádku a ani je to netrkne, že je tady asi něco špatně. To upřímně nechápu.
Jinak ten výzkum je v korelaci s tím, co píšou ostatní dříve - je to prostě jen tím, že někdo kdysi navrhnul, že jen mezery (bo v 70-tých letech tiskárny neuměly správně ošetřit tabelátor) a od té doby z toho vzniknul pseudostandard, který bohužel by default mají často i IDE, navíc checkstyle apod. Ve velkých firmách se kvůli ISO quality apod používá něco, co lze snadno prosadit kontrolovat, nic víc v tom není...
Na stranu druhou, někdo chce mít zarovnané i jiné věci než začátky řádků programů. Třeba víceřádkové konstrukce. Není pěkné když se to stane, ale někdy je to nevyhnutelné (member initializer list v C++ se často zalomit prostě musí)
Pak je potřeba buď míchat mezery a tabulátory, což může v budoucnu dělat nepořádek ve formátování v případě že člověk co to upravuje nemá zaplé zvýraznění neviditelných znaků.
Tak tak. Při code review v nástroji který ti ukazuje diffy vedle sebe je opravdu fajn, když je vidět celý řádek bez automatického zalomení nebo horizontálního scrollu. A docílit se toho obecně dá opravdu jen stanovením fixní délky odsazení a dodržováním maximální délky řádku (což je pravidlo které také vede ke zmíněnému zalomení a nutností zarovnat, no…)
Ne. Odsazení je o tom, že má následující řádek mít proti předchozímu nějaké odsazení. Stejné, nižší nebo vyšší. Tam tabelátory fungují výborně.
Víceřádkové konstrukce jsou ale o tom, že chcete, aby daný řádek byl v nějaké konkrétní pozici vůči předchozímu. A tam tabelátor nepomůže, protože po změně jeho vizuální šířky vám to celé uletí jinam.
Příklad:
funkce abc ( a as string,
b as string,
c as integer ) as string;
Pokud místo mezer použijete tabelátory, tak vám řádky s "b" a "c" budou lítat jak nudle v bandasce. Pod "a" se objeví jen při té jediné správné velikosti.
Ty příklady se zalomením řádku nebo odsazením parametrů funkce ale ukazují jenom to, že je to chybné formátování. Tvrdíte, že se to formátování rozpadne, když změním šířku tabulátoru. OK, to by mohl být problém tabulátorů. Jenže ono se to rozpadne taky v případě, když změním název funkce. A bude to k ničemu taky v případě, kdy ten začátek (název funkce a její atributy) bude dlouhý, takže ta „víceřádková konstrukce“ bude úzká nudle někde u pravého okraje obrazovky.
Pokud chci zalomit řádek, udělám to zase jako odsazení kódu, přece nebudu na dalším řádku hledat, kde vlastně začíná. A pokud chci použít víceřádkovou konstrukci, budu mít zase vše odsazené o jednu nebo dvě úrovně odsazení. Pokud chci mít každý parametr na novém řádku, nebudu přece míchat název funkce s prvním parametrem a návratový typ s posledním. Vždyť bych to pak musel celé „překreslovat“, jakmile bych chtěl přidat parametr na začátek nebo na konec seznamu parametrů.
foo_bar_function(covfefe, bablbam, brekeke, foo = bar,
abcd = efgh, xyz = xyz) {
print 'Hello World!';
}
funkce abc (
a as string,
b as string,
c as integer
) as string;
Tohle se dá zarovnávat průběžně při editaci. Není to ono, ale na stranu druhou… Na jednu stranu tady obhájci tabulátorů říkají že jim někdo mezerama nutí svůj pohled na odsazování, ale oni pak tabulátorem rozbíjí zvyklosti někoho jiného při psaní víceřádkových konstrukcí.
Osobně mi vyhovuje jak to dělá Go, i když v něm neprogramuji. Beautifier součástí základních nástrojů, unifikovaný styl kódu pro všechno… A zrovna tohle by se dalo perfektně řešit i s tabulátory, aniž by se projevily jakékoliv nevýhody (krom zmíněného „nevejde se do hezkého porovnání“)
Podle mne i tohle má být dané standardem pro formátování kódu, ne že si to každý vývojář bude dělat podle svého jak je zrovna zvyklý. U parametrů metody je to ještě jednoduché, ale u komplikovanějších builderů, řetězení volání nebo lambd můžete nevhodným odsazováním klidně vyrobit stejný typ pasti, jako třeba jednořádkový if, který se tváří jako blokový:
if (condition) print 'a'; print 'b'; //ve skutečnosti není součástí „bloku“ if print 'c';
Beautifier součástí základních nástrojů, unifikovaný styl kódu pro všechno…
Souhlasím. I to zalomení dlouhých řádků může být jen otázka zobrazení, IDE (a jiné nástroje zobrazující kód) klidně mohou dlouhé řádky zalamovat automaticky. Všechny používané způsoby (ať odsazování, nebo svislé zarovnání třeba pod závorku) mají jasně daná pravidla, takže by si opět každý mohl zvolit, jakým způsobem chce řádky automaticky zalamovat.
Víceřádkové konstrukce jsou jen další úroveň odsazení.
Kate nemluví o víceřádkových konstrukcích, ale o případech, kde se v náhledu zalomí řádek, protože je moc dlouhý.
Délka řádku je ve znacích, tabulátor je jeden znak
Mícháte dvě různé věci. Délka řádku je v zobrazených znacích, tabulátor je jeden code point, ale od 1 do 8 zobrazených znaků (podle toho, kde je následující zarážka). Obdobně kombinovaná diakritika nezabírá žádné zobrazované znaky, takže pokud projekt povoluje používání ne-ASCII code pointů, na řádek o maximální délce 80 jich klidně můžete nasekat tisíce. Schválně si to někdy zkuste v editoru, který podporuje zobrazení svislé linky na 80 znacích, třeba vim, Emacs nebo Kate.
??? Tohle
MyDialog::MyDialog(QWidget *parent)
: QDialog(parent)
, m_disableUpdates(false)
{
m_ui = new Ui::MyDlg();
....
}
Tady se obejdu bez mezer.
Osobně jsem za tab, protože u mezer se nedá šipkama, backspacem apod. přejít o čtyři znaky vpřed/zpět a občas člověk narazí na to, že zmáčkne v cizím kódu párkrát tab a zjistí, že je něco odsazené o 15 nebo 17 mezer což na první pohled není vidět a nakonec je to často jedno. On mi řekne, že do jeho kódu zanáším taby, které nemá rád z jiného důvodu (např. že jeho oblíbená xyDiff utilita a abcPad je má široké osm znaků).
Aspoň se snažím ctít zásadu, že do cizího kódu nevnáším (vědomě) vlastní formátování.
Tohle, některé další věci jako Jendou uvedené zarovnání obsahu závorky ve funkci… Mně by se osobně také líbily víc taby kvůli možnosti nastavit si šířku odsazení jak chci, bohužel nevýhody které v tom vidím tuhle výhodu přebijí, i když je velká.
Jinak, odsazení 17 mezer snad zvládne jen prase co neodsazuje mezery tabem :D A každý rozumnější textový editor / IDE maže backspacem v odsazení počet mezer jako by to byl tab. Skákat o jednotlivé taby v odsazení… Tam nějak nevidím důvod. Klávesová zkratka pro skok na začátek kódu existuje, zkratka pro skok na začátek řádku taky a pohybovat se ve whitespace oblasti mezi začátkem řádku a kódem… Proč?
Ano, ale pro ten jsem zatím nic neprogramoval. Ale už se mi přihodila kombinace Suního coding style a Volku, který má funkce jako volk_8ic_x2_s32f_multiply_conjugate_32fc, což se do 80 znaků dává fakt těžko.
A jaký ten přístup je? Četl jsem něco o go fmt, ale nevím jak to přesně funguje.
Nicméně tady jsou použity mezery doc/effective_go a tady se používá tabulátor doc/code. Oboje je odkaz na stránky golang.
Já jsem mezery začal používat mimo jiné proto, že se mi nepovedlo nastavit vim, aby zobrazoval tabulátory (převádí je na mezery, takže když pak z terminálu kopíruju, tak kopíruju mezery, i když v souboru byl tabulátor). Jsem neschopný nebo to fakt vim neumí? (ano, před nebo není čárka :) Umím mu říct, aby ukazoval tabulátor, ale myslí si, že je široký 1 sloupec a tím se rozhodí celé UI okolo.
Mnoho diskutujících zde bohužel nechápe následující: „Klávesa na PC je tabulátor. Slovo tabelátor označuje stroj umožňující zpracovávat a vypisovat údaje z děrných štítků, případně odborníka v sestavování tabel (což je ovšem poněkud archaické zaměstnání).“ (http://www.ujc.cas.cz/jazykova-poradna/dotazy/0170.html)