Article View: pl.comp.programming
Article #217022Re: Embedded HTTP Server
From: heby
Date: Mon, 08 Jun 2020 22:22
Date: Mon, 08 Jun 2020 22:22
55 lines
3578 bytes
3578 bytes
On 08/06/2020 23:44, Maciej Sobczak wrote:
>> Na tym że pierwsa jest wykrywana przez trywialny assert.
> Który nie wykrywa niczego innego.
Ale to co wykrywa jest przydatne.
>> Nie użycie go
>> świadczy o bardzo kiepskiej jakości kodzie
> Według jakich kryteriów?
Programowania defensywnego na inpucie.
>> ponieważ bibiloteka nawet
>> *takiej* oczywistości nie weryfikuje
> Od kiedy to biblioteki HTTP służą do weryfikacji programów?
W każdym inpucie powinna być weryfikacja, ponieważ *ułatwia* to
debugowanie klientowi.
W każdym innym miejscu powinna być weryfikacja, bo ułatwia to
refaktoring *autorowi*.
>> a powinna weryfikować jak nawięcej
> Według jakiego procesu produkcji oprogramowania?
Dojrzałego.
>> Z praktyki wynika że nullowe pointery są znacznie wiekszym problemem niż
>> niewłaściwe pointery, bo te drugie często załatwia się kontrolą typów.
> Nie, bo wszystkie akcje GET mają ten sam typ.
No w tym wypadku nie. W sytuacji ogólnej tak.
> register_get_html("action1", action1);
> register_get_html("action2", action2);
> register_get_html("action3", action2);
> Jest bug. Co więcej, zdecydowanie łatwiej jest go zrobić, niż napisać NULL.
To dlatego że masz ascii-art programming. I rozumiem że nie da się tego
zrobić łatwo i bezpiecznie. Dość specyficzny przypadek gdzie kontrola
typów nie zadziała. Nie da się mieć wszystkiego, ale to nie znaczy że
nie można mieć choć troche.
>> Szczególnie kiedy biblitekę używasz po raz pierwszy i spodziewasz się
>> choć odrobiny wsparcia po jej stronie.
> Wsparcie jest w tym, że API jest minimalne i nie narzuca się z niepotrzebnymi abstrakcjami.
Assert to nie abstrakcja. To ... nic.
>> Nie wykluczam że w projaktach hobbystycznych jest jakiś margines
>> projektów gdzie faktycznie psu na budę te testy. Skoro taki masz target...
> 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.
Technical Details
Message-ID:
<rbmdn3$43s$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mailReferences:
<d423a072-9378-441b-ba06-e0657a1fa53bo@googlegroups.com> <3e267b62-0fdf-41c2-9f9c-c316f98b85c6o@googlegroups.com> <7cd03711-5fee-4322-b02a-c803fcf43b31o@googlegroups.com> <a0edbb57-72ba-48f1-bf82-7060d1cec401o@googlegroups.com> <d95ffe9d-570f-455c-bb22-0831b8c0a0dfo@googlegroups.com> <rbm3nv$jf$1@dont-email.me> <8aa9011f-5e8a-4ed1-8fbb-47a260945fb8o@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: heby <heby@poczta.onet.pl> Newsgroups: pl.comp.programming Subject: Re: Embedded HTTP Server Date: Tue, 9 Jun 2020 00:22:19 +0200 Organization: A noiseless patient Spider Lines: 55 Message-ID: <rbmdn3$43s$1@dont-email.me> References: <d423a072-9378-441b-ba06-e0657a1fa53bo@googlegroups.com> <3e267b62-0fdf-41c2-9f9c-c316f98b85c6o@googlegroups.com> <7cd03711-5fee-4322-b02a-c803fcf43b31o@googlegroups.com> <a0edbb57-72ba-48f1-bf82-7060d1cec401o@googlegroups.com> <d95ffe9d-570f-455c-bb22-0831b8c0a0dfo@googlegroups.com> <rbm3nv$jf$1@dont-email.me> <8aa9011f-5e8a-4ed1-8fbb-47a260945fb8o@googlegroups.com> Mime-Version: 1.0 Injection-Date: Mon, 8 Jun 2020 22:22:28 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="4c153b40bcfdd4da9ebc0d5378bd9412"; logging-data="4220"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Vv+p0leArI8ghUNwLW/Vo" User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 Cancel-Lock: sha1:anhbL5DuU/NOo1t1qwYnnc6CL1w= In-Reply-To: <8aa9011f-5e8a-4ed1-8fbb-47a260945fb8o@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit