-
Data: 2018-11-18 10:10:20
Temat: Re: Niezmienniki pętli
Od: fir <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu piątek, 16 listopada 2018 16:48:18 UTC+1 użytkownik s...@g...com napisał:
> > Czy w związku z tym zagadnienie niezmienników jest niepotrzebne? A może nadal
jest potrzebne i coś innego je zastępuje?
>
> 1. Wiedziałem co to jest.
>
> 2. Stosuję
>
> 3. Sam też stosujesz
>
> Najprostrze zastosowanie:
> QList<int> lList = {0, 1, 2, 3, 4, 5};
> for(int i(0); i < lList.size(); ++i)
> // tu robisz coś z lList
> W tej pętli niezmiennikiem sprawdzanym przed wejściem w pętlę i po kazdej iteracji
jest:
> i < lList.size()
>
> Nieco bardziej ogólne jest:
> QList<int> lList = {0, 1, 2, 3, 4, 5};
> for(int& lItem : lList)
> // tu robisz coś z lItem
> W tym przypadku niezmiennikiem (ukrytym) jest fakt iteracji po wszystkich
elementach listy.
>
> 4. Zazwyczaj dalszych niezmienników w pętli nie sprawdzam. Głównie ze względu na 2
wady:
> 4.1. Puchnięcie i zaciemnianie kodu.
> 4.2. Spowolnienie programu.
>
> 5. Bardzo często sprawdzam parametry wejściowe funkcji (wierzę i stosuję coś w
rodzaju programowania kontraktowego).
> 5.1. Wierzę w try, throw, catch (wyjątki obowiązkowo dziedziczone po std::exception
z opisem i kodem błędu).
> 5.2. Nie wierzę w i nie cierpię Assert (to tak jak by bez ostrzeżenia uderzyć kogoś
w twarz bez dalszego komentarza).
> 5.3. Toleruję wartości zwracane (jako informacje o błędach) i brak standaryzacji w
dostępie do opisów błędów w Qt.
ostatnio odkrylem dosyc odkrywczy sposob
dilowania (tj forme kodowanie obslugi bledow) z bledami w jezykach podobnych
do c
wymaga on pewnej poprawki do jezyka,
(i jest opisany na clc, troche nie che mi sie tu opisywac bo nie lubie sie powtarzac)
jest on ogolnie ciekawy bo mz pokazuje co to jest normalne dilowanie z bledami i na
czym to normalne dilowanie z bledami normalnie polega (ma polegac)
nawiasem mowiac w swietle tego asercje
albo bledy przypadkowe (jak np zmienienie sie jakiejs komorki w rami i wyjatek typu
nielegalna instrukcja) nie sa normalnymi sposobami dilowania z bledami tylko pewnymi
case'ami nadspecjalnymi
NORMALNY i najbardziej typowy sposob z
handlowaniem z bledami w programie to zwykle zwrocenie informacji o bledzie do
funkcji w tyl - tylko ze nie powinno to byc mieszane ze zwracaniem poprawnej wartosci
w tym kanale w ktorym zwraca sie wartosci w sytuacjach niebledowych..
dzis jesli ktos zwraca blad w tyl (jak rozne api robia) to ogolnie robi dobrze,
tylko ze jesli wtyka kody bledow w wartosci zwracane to zarazem robi zle ;c
https://groups.google.com/forum/#!topic/comp.lang.c/
p1CcmgZKkV4
Następne wpisy z tego wątku
- 18.11.18 10:28 fir
- 18.11.18 17:35 Sebastian Biały
- 19.11.18 08:14 Maciej Sobczak
- 19.11.18 09:22 Roman Tyczka
- 19.11.18 10:37 Queequeg
- 19.11.18 10:45 Queequeg
- 19.11.18 17:15 g...@g...com
- 19.11.18 19:45 g...@g...com
- 19.11.18 19:49 g...@g...com
- 19.11.18 21:18 s...@g...com
- 19.11.18 21:44 Queequeg
- 19.11.18 22:10 fir
- 19.11.18 22:16 fir
- 19.11.18 23:12 g...@g...com
- 20.11.18 00:00 AK
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 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
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=