Jak psát kód: Dodržujte velikost písmen

Školení, která pořádám

V PHP záleží na velikosti písmen jen v některých kontextech – třeba u proměnných. V jiných kontextech – u klíčových slov, funkcí, metod, tříd a volitelně i konstant – na ní nezáleží. Z několika důvodů se ale vyplatí velikost dodržovat všude. Jedním z důvodů je úhlednost kódu, druhým je nalezitelnost. Ve velkých repozitářích se často vyplatí hledat s rozlišováním velikosti písmen, protože hledané slovo se může nacházet v různých kontextech, z nichž nás zajímají jen některé.

Nejběžnější konvence je lower_case pro klíčová slova, UPPER_CASE pro konstanty, PascalCase pro třídy a camelCase pro všechno ostatní. Globální funkce se někdy také píšou lower_case kvůli podobnosti s vestavěnými funkcemi PHP, ale převládá spíš camelCase.

Jak psát true, false a null? Jde o konstanty, nikoliv o klíčová slova, takže bychom je měli psát velkými písmeny. I get_defined_constants je uvádí ve velkých písmenech. PHP manuál je tedy uvádí správně, Nette taky, ale skoro všichni ostatní (včetně mě a funkce var_dump) je píšou špatně.

Velikost písmen je vhodné dodržovat i u názvů souborů, ve kterých jsou uloženy třídy, už jen kvůli autoloadingu.

Jakub Vrána, Dobře míněné rady, 10.6.2013, diskuse: 7 (nové: 0)

Diskuse

Patrik Šíma:

a hned v deklaraci je to malým array get_defined_constants ([ bool $categorize = false ] )

ikona Jakub Vrána OpenID:

Fakt že jo :-). Zkusím to předělat.

v.:

PHP manuál říká:

To specify a boolean literal, use the keywords TRUE or FALSE. Both are case-insensitive.

http://php.net/manual/en/language.types.boolean.php

Jinak v PHP manuálu se skoro všude v popisu funkcí i příkladech u true/false používá lowercase.

ikona Jakub Vrána OpenID:

Je v tom fakt dost zmatek i v manuálu. V textu se používá TRUE, ale v signaturách funkcí a v příkladech true.

juzna:

Proč to tedy máš i v článku "špatně":

> Jak psát true, false a null

ikona Jakub Vrána OpenID:

Na tomto blogu používám jinou konvenci k čemuž se v článku přiznávám: „skoro všichni ostatní (včetně mě) je píšou špatně“.

trestná smradlavice:

Aby to s null/NULL nebylo tak jednoduché, v jiných kontextech, např. v SQL, je NULL brána jako neurčitá hodnota – o konstantu se tedy nejedná. (Paradoxně, v SQL se většinou uvádí psaná velkými písmeny.)

Diskuse je zrušena z důvodu spamu.

avatar © 2005-2024 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.