Autor Zpráva
Anonymní
Profil *
Tenhle dotaz se týká spíš programování obecně, konkrétně zápis závorek, označujících začátek a konec bloku programu. Nechápu totiž proč plno lidí píše např.:

function Funkce() {
if (($neco)and($necojineho)) {
prikazy;
}
else {
jine_prikazy;
}
}

když jde o složitější kód, tak za chvíli nevím kde kterej blok začíná a končí.
mnohem přehlednější mi přijde třeba toto:

function Funkce()
{
if (($neco)and($necojineho))
{
prikazy;
}
else
{
jine_prikazy;
}
}

jaký je váš názor, resp proč častěji vidím tu první variantu?
thingwath
Profil
Ten prvni zpusob je spravne. Ten druhy pouzivaji lide co nemaji vkus a spetku rozumu :-)
Nai Dzet Quiv
Profil
Já píšu takto: (Je to hodně odlišné od ostatních, neřiďte se tím! ;-) Hodlám tento způsob změnit.)

if ()
{ if ()
{;};}
else
{;}
izsak
Profil
Je na každom programátorovi, ako píše zátvorky a celkovo ako formátuje kód...

V teamoch by sa mali dodržiavať predom definovaný spôsoby zápisu.

Skôr ako na spôsob zátvoriek by sa mali progrmátori sústrediť na správne komentovanie kódu, aby sa v tom vyznali aj po 2 týzdňoch.
thingwath
Profil
Ano, v zasade jde jenom o to, aby to bylo konzistentni a nebylo nejak vyslovene hloupe a neprehledne.
krteczek
Profil
druhý příklad používám i já, lépe se dá v kodu vyznat, kde otevřu závorku tam ji také zavírám, komentáře v kodu jsou také velmi duležité, co to je a co to dělá...ale s těmi komentáři jsem dost na štíru, většinou je přidávám v momentě kdy v kodu něco hledám ...:-)
krteczek
RiZe
Profil
já používám:

if () {

if() {
....
}
else {
....
}
}
else {
...
}

mě to vyhovuje
llook
Profil
O tomhle se programátoři hádají snad už od prvního céčka (a prvního unixu). Já používám první způsob. Důležitější je ale správně odsazovat. Na první pohled se orientuju spíš podle odsazení než podle závorek.

Třeba v Pythonu se blok ničím neohraničuje, začátek a konec se rozpoznává jen podle odsazení a kupodivu to funguje.
RiZe
Profil
Pokud programátor nepočítá s tím , že někdo bude jeho zdrojové kódy číst, může používat jaký způsob chce. Hlavně když mu vyhovuje :)
llook
Profil
Jedna malá odlišnost. Tohle:

}
else {

píšu na jeden řádek:

} else {
thingwath
Profil
llook
To je jasný :-)

Python je trochu speciální, nejpodivnější není to, že to funguje, ale to že to vypadá hezky. Ovšem hádky o tom kolik odsadit neustávají :-) Jsou holt lidé, kteří nechápu, že tabulátor se neexpanduje a má šířku osmi znaků ;-)
printf
Profil
Já jsem zvyklej na pascalovské begin-end, které se většinou psalo (píše) na samostatný řadek, možná i proto používám druhý způsob i v C, PHP, Javě... Hlavně se v tom ale líp orientuju. Když mě zajímá kde kterej blok začíná, prostě jedu ve sloupci nahoru k první otevírací závorce a hned vidím co je nad ní. Zatímco závorka na stejném řádku za podmínkou většinou ani není vidět, protože podmínka je dlouhá a nevejde se to na obrazovku. Fakt to někdy dost usnadní práci.
kainka
Profil *
vyborne sa robi v PSPade, vtedy tie zatvorky, co patria k sebe "svietia" a pomaha to odhalit chyby pri pisani kodu a tiez prehladnosti... a vela dalsich vyhod, napr. php ktory ste menili je oznaceny .........
ivitek
Profil *
Jsou k tomuhle nějaké ty hádací stránky? Zajímaly by mě snad veškeré možné způsoby odsazování kódu, pojmenovávání funkcí atd. Jsem v tom teprve začátečník :-) Ani pořádně nevím z čeho si mám vybírat :-)
halogan
Profil
Mno já se radši držim doporučení (PEAR), házim to ve stylu:

class Abc

{
...
}

function name()
{
...
}
// ale zas
if () {
}
switch () {
...
}


atp.

Nejde o to, jesli někdo používá BSD či jiný styl, jde o to, aby byl v celém projektu jednotný a přehledný. Stejně jsou nutný foldy...
ivitek
Profil *
Kde se dají najít tyto různé styly, aby člověk vůbec věděl z čeho si vybrat? Jsou na to nějaké stránky?
ash
Profil
http://pear.php.net/manual/en/standards.php
llook
Profil
Odkazy na různé standardy pro různé jazyky lze nalézt na Wiki: http://c2.com/cgi/wiki?CodingStandardList
Pro PHP jsou tam jenom zmíněné PEAR Coding Standards, ale spousta lidí si přebírá konvence z jiných víceméně podobných jazyků, nejvíc z Javy. Jako třeba tady: http://www.sequent.org/baron/software/languages/php/code-conventions.p hp
halogan
Profil
Jsou 3 základní styly: GNU, BSD a K&R
Na Googlu toho najdeš dost, např.:
http://burks.bton.ac.uk/burks/foldoc/80/56.htm
wikipedia
FantomX1
Profil
Ja pouzivam tento styl

if:


else:


endif;

Je to spravne?

Ten druhy sposob sa mi zda byt prehladnejsi i ked zvacsuje velkost skriptu. Hlavne kvoli prispevku od Printf.

Vlastne tento moj sposob je do urcitej miery prehladnejsi, ale na druhej strane aj nie a je aj zdlhavy.

Ja si pri tomto sposobe skoro vobec nevsimnem dvojbodku na konci vybraneho slova alebo podmienky ako else: a potom vznikaju chyby (minule som taku jednu chybu hladal pol hodinu a ked som ju nasiel skoro ma porazilo), na druhej strane uz pri koncovom tagu hned viem o aku podmienku sa jedna.
thingwath
Profil
FantomX1

Myslíš takový ten způsob bez závorek, trochu na styl Pythonu? Tohle jde díkybohu jenom v PHP :-) Ale IMHO je naprosto úchylný, protože PHP si u něj nevynucuje konzistentní odsazení, takže...
FantomX1
Profil
Konzistentne odsadenie? Co to znamena? Chces povedat ze ak robim podmienky v PHP so zatvorkami a neodsadzujem ich tak podmienky sa nevykonaju spravne? Mohol by si mi to vysvetlit? Dik. A este mohol by si mi vysvetlit co je to to IMHO? Viem ze asi nejaky anglicky vyraz ako AFAIK (as far as i know) ale neviem co znamena.
Martin
Profil
http://www.tyl.cz/Pocitace/Internet/Akronymy-maly-slovnik.html
llook
Profil
FantomX1 Tenhle způsob se mi moc nelíbí. Ale přirovnal bych to spíš k shellu (if-fi, case-esac...) než k Pythonu.
Při správném odsazení to může být přehledné, thingwath narážel na to, že PHP si to odsazení nevynucuje (narozdíl od Pythonu).
thingwath
Profil
V tom je právě myslím ta elegance Pythonu. Nechá vás vybrat jak to chcete, ale pak to musíte dělat všude stejně. A odsazení tam být musí (a odsazení je myslím o dost důležitější než nějaké umístění závorek).
ivitek
Profil *
Heeergot těch konvencí je :-) Děkuji, teď to zkusí všechno přelouskat... A pak je budu pěkně jednu po druhé porušovat :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.