🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217022

Re: Embedded HTTP Server

#217022
From: heby
Date: Mon, 08 Jun 2020 22:22
55 lines
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-mail
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>

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