-
Data: 2021-11-18 21:02:19
Temat: Re: AVR po latach
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 18/11/2021 20:35, Mateusz Viste wrote:
>> Dokładnie to oferujesz. Mówisz: "ale uważaj, przed każdym wyjściem z
>> funkcji musisz zawołać goto". Ja tego nie mówie. Samo prawidłowo
>> zawoła się to, co ma się zawołać, nie muszę żyć w ciągłym strachu,
>> mam 1 miejsce a nie 30, do popełnienia błedu.
> Masz 30 miejsc wyjścia z funkcji? No, to faktycznie przykładny kod.
Prawidłowe założenie brzmi: masz N wyjśc z funkcji. Zakładanie że "N
jest małe i sobie jakoś poradzimy" jest absurdalnie niebezpiecznie.
>> muszę się martwić i mam gwarantowane wywołanie sei(), Ty musisz się
>> męczyć i przeglądać kod, czy ktoś nie zapomniał zawołać goto.
> #define return goto gameover
Wylatujesz za drzwi nie tylko z kopniakiem, ale jeszcze z wilczym
biletem na pracę w IT.
> albo
> static void func_internal() {
> [...]
> }
> void func() {
> _disable();
> func_internal();
> _enable();
> }
Wlasnie napisałeś kiepski, ale emulator RAII. I po co było bredzić o goto?
> Wskazuję tylko, że innowacja którą przedstawiasz jest bardzo dyskusyjna.
To nie jest innowacja, tylko codzienność pracy programisty C++.
> I nie jest to z mojej strony krytyka C++ (którego znam słabo)
Widzę.
>, tylko
> podanego przykładu.
Podany przykład jest uproszczony na potrzeby usenetu. Jeśli nie widzisz
abstrakcyjnie zastosowania RAII, ale widzisz przykład włączenia przerwań
jako jedyne zastosowanie, to nic nie poradzę.
> Zapytałem o jakiś poważniejszy przykład, ale
> wolałeś się obrazić.
Ja się nie obrażam, mnie w ogóle ciezko obrazić.
Poważniejszy przykład mogę podrzucić jeśli chcesz, ale czy aby na pewno
pojmiesz o co chodzi? Sprawdźmy jakiś trywialny:
char value = cast_with_range_check< char >( intValue );
W kodzie produkcyjnym nic się nie zmienia, w kodzie dla unit testów masz
tam w środku zaawansowane sprawdzanie czy wartość mieści się w zakresie
typu.
>> Wiec albo chcesz mieć szambo, jak proponujesz, albo automatyzację. I
>> tak, nie da się tego zrobic w C.
> Patrz wyżej.
Wyżej napisałes emulację RAII. I napisałeś ja w zasadzie tylko po to aby
nie użyć C++, ale użyć RAII. Troche żałosne.
Mam kolegę, głeboko wierzącego w wyższosć C nas wszystkim, w którego
kodzie napotkałem prawie kompletną emulację obiektowości, wliczając
tablice wirtualne, na C i z kupą bugów. Zapytany o to po ch... to pisać
od zera, skoro to samo ma w C++, obraził się.
Napisałeś kiepski emualtor RAII tylko po to aby nie używać RAII. Widzę
podobieństwa między tymi sytuacjami.
>> Tak. Ja inwestuje raz. Kod taki (o podobnej funkcjonalnosci)
>> napisałem już kilka razy, komercyjnie. Za każdym razem używałem go w
>> setkach, jak nie tysiącach miejsc. Więc ja zapłaciłem raz, a dobrze.
> No fajnie, ale to też nie ma nic wspólnego z C++.
Kod sprawdzający statycznie flagi przekazywane do rejestrów sprzetowych?
Ma bardzo dużo.
>> Pisałeś kiedyś coś więcej, niż hello world?
> Już któryś raz zamiast pokazać kod stosujesz argumenty ad personam.
Kodu Ci nie pokaże, bo został sprzedany i nie jest moją własnościa.
Musiałbym napisac go ponownie ale mi się najzwyczajneij nie chce,
ponieważ nigdy go nie użyjesz. A udowanianie oczywistości nie jest tego
warte.
> To
> świadczy zarówno o tobie, jak i o idei którą tak zaciekle bronisz.
Ja tu bronie jakiejś idei? Robisz gówniany kod na goto, który świadczy o
zerowej wiedzy z zakresu bezpieczeństwa kodu i to w imię "Łojezu, nie
wolno używać C++, bo przyjdzie babajaga i zje!" i to ja czegoś zaciekle
bronię? Żartujesz?
To co, piszesz to zabezpieczneie przed podaniem złej flagi do uartu, w C?
Następne wpisy z tego wątku
- 18.11.21 21:25 a...@m...uni.wroc.pl
- 18.11.21 21:43 Mirek
- 18.11.21 21:47 Mateusz Viste
- 18.11.21 22:06 heby
- 19.11.21 08:57 Mateusz Viste
- 19.11.21 09:33 Mateusz Viste
- 19.11.21 09:43 J.F
- 19.11.21 09:44 heby
- 19.11.21 10:01 Mateusz Viste
- 19.11.21 10:18 heby
- 19.11.21 10:53 J.F
- 19.11.21 10:59 Mateusz Viste
- 19.11.21 11:07 Mateusz Viste
- 19.11.21 11:34 Mateusz Viste
- 19.11.21 13:37 Astralny Rębajło
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Ceny mieszkań stabilne a zdolność kredytowa rośnie. O ile nie masz dzieci