-
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
- Rapsberry Pi i synchronizacja plików
- RCD 300 mA
- rpi i moduł przekaźników
- Falownik do pompy CO
- Lampa ogrodowa rozłączała różnicówkę
- Inteligentne oświetlenie schodów
- Pytanie do Użytkownika
- Emanuel kiedyś szukał gotowca do chłodzenia leków
- Sprzęty z Lidl-a
- idzie nowe
- Wybuchające pagery
- Jak shakować windę
- Sterowanie bezprzewodowe do wbudowania
- NC vs NO
- Jak dzięki mojemu pomysłowi amerykańce z Google przyspieszyli TV
Najnowsze wątki
- 2024-10-03 Warszawa => OpenText ECM Specialist <=
- 2024-10-03 Blokowanie informacji - test
- 2024-10-02 Warszawa => Fullstack Developer <=
- 2024-10-02 Katowice => QA Engineer <=
- 2024-10-02 Gdynia => Data Scientist <=
- 2024-10-02 Warszawa => Sales Development Representative (in German) <=
- 2024-10-02 Warszawa => SAP HANA Developer (Middle) <=
- 2024-10-02 Warszawa => SAP S/4HANA FI/CO Senior Consultant <=
- 2024-10-02 Warszawa => Senior SAP HANA Developers <=
- 2024-10-02 Warszawa => Senior PHP Laravel Developer (e-commerce) <=
- 2024-10-02 Warszawa => Programista Full Stack (.Net Core) <=
- 2024-10-02 Warszawa => Software .Net Developer <=
- 2024-10-02 Warszawa => Programista Full Stack .Net <=
- 2024-10-01 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-10-02 GODZINA ZERO #48 - KRZYSZTOF STANOWSKI I ZBIGNIEW KAPIŃSKI PREZES IZBY KARNEJ SĄDU NAJWYŻSZEGO