Dalsi zahada v C -> Prevod long int na string
Milan B.
milan na bastl.sk
Úterý Červenec 26 10:10:24 CEST 2011
On 26.7.2011 9:02, Petr Tomasek wrote:
>
> V c-cku je kazdy vyraz zaroven logickou hodnotou, neni duvod
> to "formalne" psat jinak.
>
Dovody tu su. Auditovatelnost, zrozumitelnost, dokazatelnost spravnosti,
spravovatelnost - vysledkom coho moze byt a vacsinou je vyssia kvalita.
Presny zapis, vyjadrujuci presne zamer je dost dolezity. Nedavno som
videl takyto test, ci ma znak nastaveny 8-my bit (realny pripad,
softtware publikovany na webe):
char c;
if (c<0) ...
Tymto zapisom nehovorim, ze chcem otestovat 8-my bit, tymto zapisom
hovorim, ze chcem zistit, ci hodnota 8-bitoveho cisla je mensia ako 0.
Sice to funguje a za danych okolnosti je test v poriadku, ale ....
... jedneho dna sa niekto rozhodne zmenit typ c na unsigned char a tuto
blbu podmienku prehliadne alebo si neuvedomi jej dosledky (hlavne ak je
schovana o 78 riadkov dalej) ...
Sice su to jednoduche veci, ale su to veci ktore sa lahko prehliadaju -
a prave taketo "prehliadnutia" tvoria vacsinu chyb v programoch. A
formalne spravny zapis z nich dokaze eliminovat znacne mnozstvo.
A to nehovorim o typovej cistote.
Ono programovanie nie je len o tom, naucit sa jazyk...
-m-
> P.T.
>
Další informace o konferenci Hw-list