eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingEmbedded HTTP Server › Re: Embedded HTTP Server
  • Data: 2020-06-09 22:43:13
    Temat: Re: Embedded HTTP Server
    Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    > >> Nie użycie go
    > >> świadczy o bardzo kiepskiej jakości kodzie
    > > Według jakich kryteriów?
    >
    > Programowania defensywnego na inpucie.

    Rzucam tezą, że ktoś z dobrą intencją ulepił koncept a cała masa ludzi ten koncept
    powiela, już bez zastanowienia o co autorowi chodziło.

    Weź sobie funkcję std::sort. Ma trzy argumenty, trzeci to właśnie callback
    komparatora (zwany w kręgach zbliżonych do akademickich "predykatem"). Otwórz sobie
    header "algorithm" ze swojego kompilatora i poszukaj tam co robi funkcja std::sort ze
    swoim trzecim argumentem (czyli "inputem", jak to nazywasz).

    Sprawdza, czy programista nie podał pustego wskaźnika/funktora/itp.?

    Tak więc biblioteka HTTP jest właśnie w takim towarzystwie (przynajmniej w tej
    konkretnej kwestii...).

    > > Od kiedy to biblioteki HTTP służą do weryfikacji programów?
    >
    > W każdym inpucie powinna być weryfikacja,

    To nie jest input, tylko część programu. Inputem jest URL z przeglądarki albo dane z
    formatki w POST. I *to* należy walidować.

    > ponieważ *ułatwia* to
    > debugowanie klientowi.

    Debugowanie ułatwia fakt, że gdybyś faktycznie spróbował zrobić taki błąd w tej
    bibliotece, zamiast trollować na rympał, to byś zobaczył, że std::function rzuca
    wtedy wyjątek, który biblioteka uczciwie wypisuje na podanym strumieniu do logowania
    błędów.
    Spróbuj.

    To programowanie defensywne, podobnie jak paranoja wokół unit testów, to niestety
    efekt braku refleksji nad własnym warsztatem.

    > > Targetem są świadomi inżynierowie, którzy nie oczekują od biblioteki HTTP, że im
    zrobi weryfikację poprawności programu...
    >
    > Chyba takich jest relatywnie mało. Sądzepo ilości assertów w poważnych
    > biblitekach.

    No to ile assertów znalazłeś w std::sort na trzecim argumencie?
    Ja sprawdziłem w bibliotekach standardowych z trzech różnych kompilatorów.

    --
    Maciej Sobczak * http://www.inspirel.com

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: