-
Data: 2019-09-04 23:49:48
Temat: Re: Jak to robią w NASA
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Asercje są formą komentarza, który dodatkowo można zweryfikować.
Kupa różnych narzędzi weryfikuje adnotacje zaszyte w komentarzach. Statycznie. I tak
powinno być.
> Asercja to postawa propozycjonalna.
Możliwe, że pomyliłeś grupy.
> Możesz sobie napisać
> #define assert(x) do {} while(0)
Nie, nie mogę. Zabrania tego zarówno MISRA-C jak i AUTOSAR.
Byłoby łatwiej, gdybyś nie spekulował.
> Asercje też są istotne dla czytelności.
Oczywiście. Ale stanowią dead-code, którego się unika z innych powodów. Być może te
powody nie są istotne jak się pisze coś innego gdzieś indziej, ale jeśli mówimy o
systemach krytycznych (taki wątek się zrobił), to obowiązują pewne reguły. Dużo
reguł. Więcej, niż gdzie indziej. W sumie właśnie od tego spostrzeżenia się ta
dyskusja wzięła.
> Asercja nie jest pojęciem wprowadzonym przez standard C.
Standard C definiuje dokładnie, co to pojęcie oznacza w języku C. Może gdzieś indziej
oznacza coś innego, albo nawet wcześniej. Nie ma to znaczenia.
> > Oczywiście możesz sobie wyobrazić (albo nawet mieć) narzędzie, któro statycznie
skanuje kod i sprawdza asercje (efektywnie traktując je jako static_assert), ale
takie narzędzie potrafi też wyłuskać adnotacje z komentarzy.
>
> ?
Ale czego nie rozumiesz? Której części?
> No to nie dość, że sam błędnie rozumiesz, to jeszcze próbujesz to swoje błędne
rozumienie promować.
Dopóki moje rozumienie opiera się na standardach (i to kilku), to będę je promował.
Nie do mnie pretensje, nie ja te standardy pisałem.
> A skrypty testowe to nie kod?
Nie musi być. Może to być procedura opisana słownie. Np. w Wordzie. Nie, nie nabijam
się. Nieprzypadkiem napisałem wcześniej, że w tej branży klepanie kodu to tylko kilka
procent wysiłku.
Natomiast nawet jeśli skrypt testowy będzie kodem w jakimś języku programowania,
nawet w tym samym (rzadki przypadek), to tego kodu nie obowiązują takie reguły, jak
te dotyczące właściwego kodu programu. Bo i po co.
Dlatego współcześnie popularnym przypadkiem jest użycie Pythona do pisania testów.
Tam sobie możesz (a nawet powinieneś) robić asercje ile wlezie.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 05.09.19 09:20 M.M.
- 05.09.19 13:37 M.M.
- 06.09.19 07:31 AK
- 06.09.19 10:12 M.M.
- 06.09.19 10:33 Mateusz Viste
- 06.09.19 12:06 M.M.
- 06.09.19 12:57 Mateusz Viste
- 06.09.19 15:42 Maciej Sobczak
- 06.09.19 16:06 Mateusz Viste
- 06.09.19 17:06 AK
- 06.09.19 17:11 AK
- 06.09.19 18:22 M.M.
- 06.09.19 18:29 g...@g...com
- 06.09.19 19:14 g...@g...com
- 06.09.19 20:28 M.M.
Najnowsze wątki z tej grupy
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-04 Wwa - gdzie pozyczyc autko?
- 2025-06-04 Wrocław => SAP ABAP Developer <=
- 2025-06-04 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-06-04 Łódź => Account Manager <=
- 2025-06-04 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-06-03 Głópie rondo w Bielsku-Białej
- 2025-06-03 Chorzów chce wyburzyć estakadę, ale ma tylko 1.ekspertyzę
- 2025-06-03 BMW to wielki złom, kierowca i pasażerowie wszyscy giną już przy 200 km/godz.
- 2025-06-02 alarm przed zaśnięciem
- 2025-06-03 [OT] Jak wycinac ksztalt w piance lub styropianie?
- 2025-06-03 FV--> ciepła woda w kranie
- 2025-06-03 Chorzów chce wyburzyć estakadę, ale ma tylko 1.ekspertyzę
- 2025-06-03 Domy w Japonii za 3000 zł
- 2025-06-03 Warszawa => DevOps Engineer <=
- 2025-06-03 Gdynia => Sales Executive / KAM <=