[ekg2-devel] Pola zamiast act w window_t

Michał Górny mgorny.hejl w mailnull.com
Śro, 13 Lut 2008, 16:42:37 CET


On Sun, Feb 10, 2008 at 11:03:37PM +0100, GiM wrote:
> b) czytelność kodu (chociażby samej struktury) spada,

Mógłbyś jakoś konkretniej? Bo ja, szczerze, nie widzę tutaj problemu —
pola są, jak były, tylko czasem się malutki dwukropek z cyferką wkrada
za ich nazwą (nie da się ukryć, że IMO lepiej byłoby przed). Ładnie
wyindentować i różnicy praktycznie nie ma.

> c) łatwo _bardzo_ (o czym już pisał dj) o błędy,

Błędy… acz z drugiej strony, wymuszamy w tym momencie ujawnienie się
wszystkich obecnie działających paskudztw. Potem może okazać się, że
i tak jakaś inna modyfikacja spowoduje, że wszystko zacznie się sypać.

Z drugiej strony, trochę żal, że gcc nie ostrzega przed wpisaniem
w pole bitowe większej wartości.

> d) gcc i tak to przerabia jak chce, więc zysk pamięciowy
>    może mieć przebicie na czas (no to chyba zawsze jest taki
>    trade pamięć vs. czas),

IMO akurat w przypadku komunikatora internetowego, który raczej
programem o wysokim priorytecie nie jest, akurat powinniśmy kierować się
przede wszystkim ku minimalizacji zużycia pamięci. Nie robimy tyle
rzeczy, żeby naprawdę nam zależało na oszczędności czasu procesora;
za to zdarza nam się całymi dniami w wielu kopiach siedzieć w pamięci.

> e) pomijając C++, to chyba inne języki nie mają pól bitowych
>    i ludzie jakoś sobie radzą i z tym żyją....

VFAT nie ma dziennikowania. Windows nie ma socketów uniksowych. Tak więc
mamy we wszystkich innych systemach plików usunąć dziennikowanie, i pod
żadnym pozorem nie używać socketów uniksowych w programie skierowanym
tylko i wyłącznie do systemów GNU?

> g) ewentualne zwiększanie pola bitowego (e.g. bo chcemy kolejny
>    ficzer) to psucie ABI

Jeśli chcemy kolejny ficzer, to raczej nie zwiększamy pola, tylko robimy
nowe, adekwatnie nazwane. Przecież o to chodzi, nie? Jeśli dodamy je na
końcu, to bodajże ABI nic się nie stanie. Swoją drogą, o ile się
nie mylę, to grupa pól bitowych i tak wyrównywana jest do określonego
pochodnego typu, więc do pewnego stopnia możńa dokładać nowe bity
w środku.

-- 
Z poważaniem,
Michał Górny

<http://mailnull.com/w?au=f6744c6f5e097cc9816a562802f331c2>
<xmpp:mgorny w jabster.pl>


Więcej informacji o liście dyskusyjnej ekg2-devel