-
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
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-19 6,756,000 car crashes in the United States in 2019 with 36,096 fatalities.
- 2025-06-19 6,756,000 car crashes in the United States in 2019 with 36,096 fatalities.
- 2025-06-18 Poseł KO mecenas Giertych został pouczony o obowiązującym prawie [z SN]
- 2025-06-18 112
- 2025-06-18 Poznań => MLOps Engineer <=
- 2025-06-18 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-18 Wrocław => SAP ABAP Developer <=
- 2025-06-18 Łódź => Account Manager <=
- 2025-06-18 Warszawa => MLOps Engineer <=
- 2025-06-18 Warszawa => Software Engineer .Net <=
- 2025-06-18 Zakaz używania Kreta
- 2025-06-18 Gdańsk => Controlling systems Consultant <=
- 2025-06-18 Warszawa => Senior Programmer C <=
- 2025-06-18 W państwie tuskiego "prawa" obywatel/poseł ma obowiązek planować pod kątem że będzie aresztowany [Urbaniak]
- 2025-06-18 Warszawa => Mid/Senior IT Recruiter <=