RSS registrovat login
Navigace: předchozí stranaúvodní strana
Pozor na pojmenování proměnných

Po dlouhém bádání se TCesky rozhodl upozornit na závažnou chybu, kterou obsahuje nejeden používaný překladač. O co jde? Některé znaky v názvu proměnných jsou vyhrazeny pro reálná čísla a pokud je použijete pro jiný typ, tak aplikace může dokonce i zhavarovat. Mistr na tuto chybu nejprve upozornil v souvislosti s překladači C/C++, ale postihuje i další překladače, např. starého Basicu i .Netu (včetně C#).

Problém v C/C++:

Pouzivas pro promennou typu int nazev, ktery je v intervalu [a-h, o-z], ktery je vyhrazen pro realna cisla. Nekdy to muze projit, ale kdyz budes mit kod delsi nez jednu pametovou stranku a system pracuje s virtualni pameti tak Ti to muze zhavarovat.
Zdroj

Problém v .Net:

Je mozne, ze jmena tech Tvych integeru zacinaji pismenem z intervalu [a-h], [o-z]. Takove promenne byly ve starem Basicu (MS, Turbo i Power) povazovany za nositele realnych cisel. Vzhledem k tomu, ze .NET je jenom navoneny Basic tak je opatrnost na miste.
Zdroj

Jak je vidět, tento problém je docela závažný a v ohrožení je nejedna fungující aplikace. ITC (Institut T. Českého) vydal doporučení, aby název proměnné byl uvozen názvem jejího typu. Pro názvy celočíselných proměnných tedy používejte např. integer_i nebo int_pocetPolozek, pak by mělo být vše v pořádku. Zatím není ještě zcela jasné, jestli je toto pouze workaround nebo to bude prohlášeno za standard. Už teď je ale jasné, že bude potřeba přepsat nejednu učebnici.


vytvořil Tana z Ceska 7.10. 2011 10:25, naposledy změněnil Tana z Ceska 7.10. 2011 10:31
přečteno: 1846x

Komentáře:
Žádné komentáře dosud nebyly vloženy.

Přidat komentář:
Jméno
E-mail
Web
Titulek
Obsah
thomas sabo rea mbt outlet thomas sabo charms sale louis vuitton taschen kaufen thomas sabo boutique mbt kaufen