-
Data: 2020-06-10 22:35:55
Temat: Re: Embedded HTTP Server
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
> > Ja sprawdziłem w bibliotekach standardowych z trzech różnych kompilatorów.
>
> To sprawdź jeszcze resztę świata. Zacznij od Qt.
A co mi tam. Sprawdziłem. Zacząłem od Qt.
https://github.com/qt/qtbase/blob/dev/src/corelib/to
ols/qalgorithms.h
Konkretnie, funkcja qSort z callbackiem komparatora jest tutaj:
https://github.com/qt/qtbase/blob/dev/src/corelib/to
ols/qalgorithms.h#L181
i bez walidowania swoich argumentów woła qSortHelper, który jest tutaj:
https://github.com/qt/qtbase/blob/dev/src/corelib/to
ols/qalgorithms.h#L340
i który bez walidowania swoich argumentów wywołuje callback tutaj:
https://github.com/qt/qtbase/blob/dev/src/corelib/to
ols/qalgorithms.h#L351
> Spodoba Ci się
Bez szału. Tzn. walidację callbacków robią poprawnie - w sensie że nie robią. O, to w
sumie podobnie jak w bibliotece standardowej. Konsensus w tej sprawie się przez to
poszerzył o kolejną zgodną opinię.
Natomiast ogólne wrażenie - jak na bibliotekę, która miała rzekomo inspirować
jakością, nie urywa.
Przykładowo, w jednym miejscu (w qSortHelper, 343) jest tak:
int span = int(end - start);
a w innym (w qStableSortHelper, 452) tak:
const int span = end - begin;
Dziwne, nie? I niekonsekwencja w nazwach iteratorów albo w użyciu const w dokładnie
takim samym idiomie, to akurat najmniejszy pikuś.
Ćwiczenie: czy wartość (end - start) zawsze mieści się w int?
Co się stanie, jeśli się nie zmieści? Jak to wpłynie na następne dwie linijki:
if (span < 2)
return;
?
Dalej: oszczędzanie na nawiasach klamrowych, niekonsekwentne ich stosowanie, albo raz
się namespace kończy komentarzem, innym razem bez komentarza. To tak na szybko.
Nie twierdze, że bardzo źle. W kategorii open-source na pewno powyżej średniej.
Ale nie o to chodzi. Chodzi o to, że strasznie jestem ciekaw, jaki argument teraz
wymyślisz.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 10.06.20 22:52 heby
- 10.06.20 22:54 heby
- 10.06.20 22:55 heby
- 23.06.20 09:33 Wojciech Muła
- 23.06.20 23:13 Maciej Sobczak
Najnowsze wątki z tej grupy
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
Najnowsze wątki
- 2025-04-09 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-04-09 Warszawa => Senior Product Manager <=
- 2025-04-09 Warszawa => Starszy Konsultant SAP FICO <=
- 2025-04-09 Warszawa => NMS System Administrator <=
- 2025-04-07 C++. Podróż Po Języku - komentarz
- 2025-04-08 Warszawa => Presales - Inżynier Wsparcia Technicznego IT <=
- 2025-04-08 Pomnik Polaków w Berlinie - OK! - ale co z ustawą o mniejszości polskiej?
- 2025-04-08 Uniwersytet Jagielloński zawiesza protestujących studentów
- 2025-04-07 Nagie zdjęcia nauczycieli
- 2025-04-07 czy też tak macie w swoich Wrocławiach?
- 2025-04-07 Czeladź => Specjalista ds. public relations <=
- 2025-04-07 Adam Bodnar przekracza kolejną granicę absurdu. Powoli się szykuje do nowej fuchy w TSUE
- 2025-04-07 Warszawa => Sales Executive / KAM <=
- 2025-04-07 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-04-07 Kraków => MS Dynamics 365BC/NAV Developer <=