-
Data: 2009-01-05 14:01:52
Temat: Re: przemyślenia na temat pamięci i rozmiaru plików
Od: Jakub Debski <d...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Remek explained on 2008-12-31 :
> Co konkretnie możesz wskazać błędnego, lub niepotrzebnego w konkretnej
> funkcji?
- Brak ujednoliconego sposobu zwracania błędów (HANDLE, LastError,
przez wartość, przez parametr, TRUE/FALSE, HRESULT).
- Przekazywanie do funkcji olbrzymiej listy parametrów nie przez
wskaźnik na strukturę (mój ulubieniec to CreateProcessWithLogon).
- Używanie jednocześnie typów prostych języka C (unsigned int), typów
specyficznych dla "Windows Data Types" (UINT) oraz "własnych" typów
(u_short). Te ostatnie szczególnie kochane w Winsock2, typy C w GDI,
zaś typy Windows w pozostałym API. Czasem używanie różnych konwencji w
jednej funkcji np. SetWindowsHookEx.
- Używanie w typach przedrostków LP dla wskaźników, czasami P, a
czasami '*'. Często różne konwencje są w jednej funkcji (np.
CryptAcquireContext). Języki z silniejszą typizacją niż C wymagają
rzutowania między takimi typami.
- Zaśmiecanie przestrzeni nazw tysiącami definicji typów bez żadnych
przedrostków. Dołączenie nowego pliku nagłówkowego może wymagać masy
zmian w Twoim kodzie lub różnych sztuczek związanych z jego
reorganizacją.
- Pozostałości z 16 bitowego Windows np. LPARAM i WPARAM.
- HANDLE czasami traktowany jako 32 bitowy int, gdy według definicji
powinien być PVOID.
- W GDI API niektóre wartości jako WORD, gdy współcześnie potrzebne są
DWORDy.
- Brak jednej konwencji nazw funkcji. Część zamiast windowsowych
wielbłądów typu CreateFileA występuje jako _xxxx np. _lopen, część to
same małe litery np. lstrlen, część ma przedrostki np.
WSAAsyncGetHostByAddr, część to mix różnych konwencji np.
ImageList_Add).
> Po sprawdzeniu okazało się, że obie procedury są identyczne. W związku z
> tym zamiast pisać bzdury, proponuję podpierać się konkretami.
Wystarczą powyższe, czy dalej będziesz pisał bzdury?
Jakub
Następne wpisy z tego wątku
- 06.01.09 00:52 Maciej Piechotka
Najnowsze wątki z tej grupy
- 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
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław