-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
STED!not-for-mail
From: Paweł Kierski <n...@p...net>
Newsgroups: pl.comp.programming
Subject: Re: teoria bledow
Date: Wed, 04 May 2011 11:18:07 +0200
Organization: http://onet.pl
Lines: 32
Message-ID: <ipr5kn$fe5$1@news.onet.pl>
References: <ipqsbf$9jk$1@inews.gazeta.pl>
<3...@s...googlegroups.com>
NNTP-Posting-Host: 195.182.34.201
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1304500695 15813 195.182.34.201 (4 May 2011 09:18:15 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Wed, 4 May 2011 09:18:15 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.15) Gecko/20110303
Thunderbird/3.1.9
In-Reply-To: <3...@s...googlegroups.com>
Xref: news-archive.icm.edu.pl pl.comp.programming:190099
[ ukryj nagłówki ]W dniu 2011-05-04 10:48, apl pisze:
>
>> malo kto sprawdza takie rzeczy, ale blad sie
>> moze rozpropagowac az program uderzy w sciane
>> np na bledzie ochrony pamieci
>>
>> to jest tez ciekawe czy sa takie (albo czy
>> sa mozliwe) takie systemy w ktorych
>> prog nie moze uderzyc w sciane - tylko
>> np produkowac smieci i nic wiecej -
>
> Moim zdaniem program nigdy nie powinien produkować śmieci. Częstą
> przyczyną trudno wykrywalnych błędów jest automatyczne "zerowanie"
> zmiennych na etapie kompilacji. To kardynalny błąd! Pamięć
> przydzielana zmiennym powinna raczej być ustawiana na wartości
> nieakceptowalne dla typu zmiennych, a przynajmniej wszystkie bity na
> True, tak aby użycie wartości zmiennej, której nie nadał program,
> automatycznie powodowało "uderzenie o ścianę". Zero jest najczęściej
> akceptowane jako "dobra" dana, natomiast wartości skrajnie wielkie
> będą na ogół prowadzić do przesterowań. Ja, w swojej praktyce stosuję
> właśnie takie przekorne podejście i inicjuję zmienne tak, aby nie
> wchodziło w rachubę użycie przypadkowej wartości.
VC w konfiguracji Debug domyślnie ustawia wartości bajtów 0xCC.
Część coding standards zabrania deklarowania zmiennej bez jej
inicjowania. Są też narzędzia do statycznej analizy kodu, które
pokazują potencjalne użycie niezainicjowanych zmiennych.
--
Paweł Kierski
n...@p...net
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-14 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-14 Czy ma sens grupa news:pl.soc.polityka-prawna ? :-)
- 2025-02-14 e-paper
- 2025-02-14 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-14 Warszawa => System Architect (Java background) <=
- 2025-02-14 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-14 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-02-14 Re: Dlaczego nie było (pełzającego) zamachu stanu? Bo minister Bodnar już "zawiesił" prokuratora Ostrowskiego
- 2025-02-14 e-paper
- 2025-02-14 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-14 Warszawa => International Freight Forwarder <=
- 2025-02-14 Olsztyn => Sales Specialist <=
- 2025-02-14 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-14 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-02-14 Dęblin => JavaScript / Node / Fullstack Developer <=