-
Data: 2017-10-24 14:07:11
Temat: Re: programowanie w C - bardzo ogólne pytanie o filozofię. Arduino w roli programatora pralki
Od: Piotr Gałka <p...@c...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2017-10-24 o 13:42, Piotr Wyderski pisze:
>
> A mnie się zdarza stosunkowo często, choć przypadki użycia są jedynie dwa:
>
> 1. Opuszczanie wielokrotnie zagnieżdżonych pętli.
> 2. Przekazywanie sterowania do wspólnego kodu obsługi błędu dla danej
> sytuacji:
>
> if (dobrze) {
>
> // to dobrze
> } else {
>
> lbl_zle:
>
> // bardzo zle
> }
>
> if (albo_jednak_zle) {
>
> goto lbl_zle;
> }
Taka konstrukcja z cofaniem się w kodzie jest dla mnie trudna.
Nie rozumiem czy zakładasz, że albo_jednak_zle może być true po
wykonaniu bloku dobrze, czy else.
Jak po else to znaczyło by, że kod //bardzo zle nie gwarantuje, że
albo_jednak_zle będzie false - czyli może się zapętlić.
A jak po dobrze to by znaczyło, że warunek dobrze nie jest 100% pewny.
Kiedyś dawno błędy zawsze obsługiwałem tak, że wszystkie funkcje
zwracały int i każda wyższa reagowała na to, co zwraca niższa jak
umiała, a jak nie to przekazywała błąd wyżej (czasem nadając mu już inny
numer). Nigdy nie obsługiwałem błędów danej funkcji w niej samej.
Od jakiegoś czasu staram się używać try{throw;}catch bo nie trzeba
myśleć o przekazywaniu wyżej błędów przychodzących z dołu.
> Dokładnie o to chodzi. Goto potrafi znacznie *podnieść* czytelność,
Możesz mieć rację, ale nie będę używał goto, bo tak (tu tupnięcie nogą) :)
P.G.
Następne wpisy z tego wątku
- 24.10.17 14:07 Piotr Wyderski
- 24.10.17 14:12 Piotr Gałka
- 24.10.17 14:17 Piotr Gałka
- 24.10.17 14:27 Piotr Wyderski
- 24.10.17 14:36 Piotr Wyderski
- 24.10.17 14:58 J.F.
- 24.10.17 15:05 Piotr Wyderski
- 24.10.17 17:36 Janusz
- 24.10.17 20:31 Piotr Gałka
- 24.10.17 20:53 Janusz
- 24.10.17 22:33 Grzegorz Niemirowski
- 25.10.17 02:28 Mateusz Viste
- 25.10.17 09:51 Piotr Wyderski
- 29.10.17 20:42 slawek
- 29.10.17 20:48 slawek
Najnowsze wątki z tej grupy
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
- Chińska Telefonia 6G - Chcą Nas Sterować Elektrycznie - Jak Kukiełki w Teatrze Lalek!!!
- RS-485 ale automatycznie dwukierunkowy
- Leżakujące SSD gubią po roku dane
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
Najnowsze wątki
- 2025-12-14 Dla UTRWALENIA: jak działają "EKO" ZBRODNIARZE
- 2025-12-13 Emisyjność BEV
- 2025-12-13 Dla odprężenia - niezły zawodnik
- 2025-12-12 Cyna dylemat
- 2025-12-12 Warszawa => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-12-12 Warszawa => Architekt rozwiązań (Workday) - Legal Systems <=
- 2025-12-12 Warszawa => Dynamics 365 Commerce/POS Developer <=
- 2025-12-12 Wrocław => React Developer with knowledge of C++ <=
- 2025-12-12 Białystok => Programista React ze znajomością C++ <=
- 2025-12-12 Warszawa => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-11 To już efekt Żurka czy coś jeszcze GORSZEGO?
- 2025-12-11 Policjanci w mieście Łodzi zmierzą ci prędkość z błędem mniejszym niż producent w laboratorium :-)
- 2025-12-11 Warszawa => Senior Java Developer <=
- 2025-12-11 Kolejny prezent
- 2025-12-10 hameryka




Chińskie auta: Od niskiej jakości do globalnego lidera. Co pokazuje raport EFL?