eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR po latachRe: AVR po latach
  • 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?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: