-
Data: 2018-11-16 16:48:17
Temat: Re: Niezmienniki pętli
Od: s...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> 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.
Następne wpisy z tego wątku
- 16.11.18 16:50 s...@g...com
- 16.11.18 17:18 AK
- 16.11.18 20:14 Queequeg
- 16.11.18 20:40 s...@g...com
- 16.11.18 20:51 g...@g...com
- 16.11.18 21:05 Queequeg
- 16.11.18 23:51 Maciej Sobczak
- 16.11.18 23:55 Maciej Sobczak
- 17.11.18 14:58 Sebastian Biały
- 17.11.18 16:59 s...@g...com
- 18.11.18 00:10 Maciej Sobczak
- 18.11.18 01:02 Queequeg
- 18.11.18 09:58 AK
- 18.11.18 10:10 fir
- 18.11.18 10:28 fir
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-29 Warszawa => Staż w dziale Sprzedaży B2B (2 miejsca) <=
- 2024-04-29 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-04-29 Ulm => IT Network Engineer <=
- 2024-04-29 Gdańsk => UX/UI Designer <=
- 2024-04-29 Gdańsk => AI Specialist <=
- 2024-04-29 frankowicze odcinek NNN
- 2024-04-29 Warszawa => Specjalista ds. Cyberbezpieczeństwa <=
- 2024-04-29 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-04-29 Zielona Góra => Inżynier R&D Energoelektronik <=
- 2024-04-29 Warszawa => Google Ads Freelancer <=
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM