eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingnazewnictwo plikow z kodemRe: nazewnictwo plikow z kodem
  • Data: 2012-05-31 00:16:49
    Temat: Re: nazewnictwo plikow z kodem
    Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2012-05-30 23:53, M.M. wrote:
    > Jeśli zmieniam nagłówek który jest wcielony w wielu plikach to
    > i tak i tak kompilacja długo trwa.

    Odcinasz sobie drogą między innymi do ccache i distcc skazując na
    przesyłanie dużej ilości plików przez sieć bądź hashowania
    niepotrzebnych danych.

    > Jeśli używam nagłówków z jakiś dużych
    > bibliotek to i tak narzut na czas kompilacji głównie spowodowany
    > nagłówkami bibliotecznymi a nie moimi.

    Czy każdy plik .c uzywa *wyszystkich* funkcji bibliotecznych? Więc
    nieinkluduj skoro zjadają znaczacy czas. jesli autor bibliteki
    dostarczył tylko all.h to popełnia szkolny błąd. Nie wszyscy tak robią,
    patrz np. boost.

    > Jeśli nagłówek nie jest często
    > wcielany, to bez większych oporów usuwam go z globalnych inkludów. Gdy
    > zmieniam tylko plik źródłowy, to kompilacja może być nawet szybsza,
    > bo kompilator nie męczy się z wielokrotnym wcielaniem i omijaniem tego
    > samego nagłówka.

    Mam wrażenie ze mylisz include.h z sztuczką "precompiled header".

    > Jakby kompilacja trwała zbyt długo to bym nie używał
    > globalnego inkluda. Może taki problem pojawia się od projektów o
    > rozmiarze 50MB kodu?

    Taki plik skutecznie blokuje distcc/ccache oraz Incredibuild. Przy czym
    nie jest to latwo dostrzec bez większego projektu i też zależy.

    >> Widuje taki kfiatki w projektach opensource, autorzy jednak
    >> zazwyczaj maskują swoje lenistwo za pomocą bardziej śmiesznych argumentów.
    > Co to za argumenty? Moim nie jest lenistwo.

    A rózne. Zaczynając od stwierdzenia "no przeciez gdzies musi być using
    namespace std" po "to ułatwia debugowanie" i tym podobne bzdury.

    > Niby tak, ale jeśli mam dużo małych klas

    Czy klikaset klas to wystarczająco dużo? Bo mam, a nie używam all.h.

    > w jednym pliku inkludowane w takiej kolejności w jakiej trzeba.

    Nie istnieje w ogóle potrzeba inkudowania czegokolwiek poza paroma
    wyjątkami:

    a) jak po czyms dziedziczysz
    b) jak uzywasz czegoś na co nie ma forwarda ( np. enum)
    c) jak masz jakies templates które muszą się rozwijać inline
    d) jak trzymasz przez wartość
    e) i pewno coś zapomniałem

    95% kodu nie wymaga inkludowania niczego poza fizycznie uzywanymi typami.

    > Ponadto taka wygoda jest potrzebna na początkowym etapie projektu.

    To ogromna wygoda. Zmieniasz spację w pliku x i make robi Ci update
    wszystkiego. Bajer. Witamy w latach 80-tych.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: