Styl zápisu programu: Porovnání verzí
Smazaný obsah Přidaný obsah
rozšíření, překlad en wiki |
Styl, formulace |
||
Řádek 2:
Základní pravidla byla poprvé sepsána v publikaci ''"The Elements of Programming Style"'', vydaná v 70. letech 19. století. [[Ilustrace]] a příklady byly čerpány z programovacího jazyka [[Fortran]].
== Programovací styl ==
Programovací styl, použitý v jednotlivých programech může být odvozený z [[kódovací standard|kódovacích standardů]] nebo kódovacích obecných zásad společností nebo dalších počítačových organizací, stejně tak jako z vlastního stylu autora kódu. Programovací styl je často navržen pro specifický programovací jazyk nebo jazykovou rodinu. Styly, používané pro jazykovou rodinu [[jazyk C|jazyka C]] nemusí být vhodné pro použití v [[jazyková rodina|jazykové rodině]] typu [[BASIC]] atp. Nicméně některé pravidla mohou být aplikována obecně.
== Prvky dobrého stylu ==
Je obtížné definovat, co je dobrý styl. Přesný [[standard]] není definován, jedná se spíše o subjektivní pohled každého programátora. Nicméně existují základní prvky, které jsou společné velkému množství programovacích stylů. Tyto základní prvky jsou považovány za součást programovacího stylu, zahrnujícího: ▼
▲Je obtížné definovat, co je dobrý styl. Přesný [[standard]] není definován, jedná se spíše o subjektivní pohled každého programátora. Nicméně existují základní prvky, které jsou společné velkému množství programovacích stylů. Tyto základní prvky jsou považovány za součást programovacího stylu, zahrnujícího:
* rozvržení zdrojového kódu včetně [[odrážkování]]
* použití [[bílý znak|bílých znaků]] kolem operátorů a klíčových slov
Řádek 19 ⟶ 17:
== Vzhled zdrojového kódu ==
Programovací styly obvykle vycházejí z vizualizace zdrojového kódu, což programátorovi usnadňuje práci při vyhledávání informací o programu. [[Software]] pro psaní zdrojového kódu umožňuje automatické [[formát]]ování, což programátorovi usnadňuje práci a umožňuje mu soustředit se na vlastní programování. Praktickým hlediskem automatického formátování zdrojového kódu je, že šetří čas a umožňuje snazší prosazení firemních standardů bez větších diskuzí.
==== Odsazování ====
▲Styly odrážkování pomáhají při identifikaci bloků kódu. U některých [[programovací jazyk|programovacích jazyků]] je odrážkování užíváno pro stanovení hranice logických bloků zdrojového kódu. Správné odrážkování je v tomto případě více, než jen problém stylu. V dalších jazycích neovlivňují netisknutelné znaky a odrážkování funkčnost, avšak dělají zdrojový kód čitelnější. Porovnejte:
<source lang="c">
Řádek 37 ⟶ 32:
}
</source>
''nebo''
<source lang="c">
if (hours < 24 && minutes < 60 && seconds < 60) {
Řádek 45 ⟶ 42:
}
</source>
''s tímto zápisem bez přehledného odsazování''
<!-- POZOR - následující kód je záměrně špatně naformátován, NEOPRAVUJTE HO. Děkujeme. -->
<source lang="c">
if ( hours<
Řádek 58 ⟶ 57:
</source>
První dva příklady jsou čitelnější, odrážky jsou použity podle ustanovených pravidel. Tento styl
Programovací jazyk [[Python]] používá odrážkování k tomu, aby [[signalizace|signalizoval]] správnost struktury zdrojového kódu. Proto je v tomto případě správné odrážkování vyžadováno. Tímto není potřeba používat složené závorky ('''{''' a '''}'''). čitelnost je lepší, i když nevyužívá běžných kódových stylů. Odlišné styly mohou vést k problémům při zkopírování a vložení zdrojového kódu do prostředí Python, protože styl odrážkování nemusí být [[kompatibilita|kompatibilní]] s vloženou částí. Ruční přeformátování je náročné na čas, některé textové editory však umí provést přeformátování automaticky. Navíc zdrojový kód v Pythonu může být nepoužitelný na některých [[webové stránky|webových stránkách]], které odstraňují netisknutelné znaky. V tomto případě se pro správné zobrazení v [[HTML]] kódu uzavírá zdrojový kód Pythonu párovým tagem "<pre> ... </pre>".▼
▲Programovací jazyk [[Python]] používá
==== Svislé zarovnání ====
Často je užitečné seřadit podobné elementy zdrojového kódu svisle,
▲Často je užitečné seřadit podobné elementy zdrojového kódu svisle, vzniklé chyby jsou poté více zřejmé. Porovnání:
<source lang="php">
$search = array('a', 'b', 'c', 'd', 'e');
$replacement = array('foo', 'bar', 'baz', 'quux');
$value = 0;
$anothervalue = 1;
$yetanothervalue = 2;
</source>
s tímto příkladem:
<source lang="php">
$search = array('a', 'b', 'c', 'd', 'e');
$replacement = array('foo', 'bar', 'baz', 'quux');
$value = 0;
$anothervalue = 1;
Řádek 85 ⟶ 84:
</source>
U druhého příkladu
*
Argumentem proti svislému zarovnání může být problém udržení [[zarovnání]] u některých [[editor]]ů, tento problém může být eliminován použitím editoru zdrojového kódu, který podporuje funkci elastic tabstops.▼
▲Argumentem proti svislému zarovnání může být problém udržení [[zarovnání]] u některých [[editor]]ů
==== Mezery ====
Mezery jsou definovány jako bílé znaky. U většiny neformátovaných programovacích jazyků mohou být tyto znaky použity, aniž by jakýmkoli způsobem ovlivnily
▲Mezery jsou definovány jako bílé znaky. U většiny neformátovaných programovacích jazyků mohou být tyto znaky použity, aniž by jakýmkoli způsobem ovlivnily chod [[program]]u. většinou se používají pro lepší čitelnost zdrojového kódu.
<source lang="c">
Řádek 102 ⟶ 98:
}
</source>
vs.
<source lang="c">
int i;
Řádek 109 ⟶ 107:
}
</source>
vs.
<source lang="c">
int i;
Řádek 118:
==== Tabulátory ====
Použití [[tabulátor]]u k odsazení znaků
<source lang="c">
Řádek 126 ⟶ 125:
</source>
Jiný programátor
<source lang="c">
Řádek 133 ⟶ 132:
</source>
Řešením může být automatické nahrazování tabulátoru mezerami nebo stanovení jeho jednotné velikosti.
== Vhodné názvy proměnných ==
Vhodný výběr názvů [[proměnná|proměnných]] je základním principem pro tvorbu dobře stylizovaného zdrojového kódu. Špatně pojmenované proměnné
▲Vhodný výběr názvů [[proměnná|proměnných]] je základním principem pro tvorbu dobře stylizovaného zdrojového kódu. Špatně pojmenované proměnné znepřehlední jeho čitelnost.
<code lang="pseudo">
Řádek 150 ⟶ 145:
</code>
Kvůli nevhodné volbě proměnných je poměrně složité na první pohled zjistit, k čemu daná část zdrojového kódu slouží.
<code lang="pseudo">
Řádek 159 ⟶ 154:
'''return''' false
</code>
[[Kategorie:Počítače]]
|