eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingnazewnictwo plikow z kodemRe: nazewnictwo plikow z kodem
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Sebastian Biały <h...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: nazewnictwo plikow z kodem
    Date: Thu, 31 May 2012 00:16:49 +0200
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 60
    Message-ID: <jq668k$jup$1@inews.gazeta.pl>
    References: <jq0ivq$qvf$1@inews.gazeta.pl> <jq0qjp$j64$1@inews.gazeta.pl>
    <jq5fn7$d53$1@inews.gazeta.pl> <jq64tm$t68$1@inews.gazeta.pl>
    NNTP-Posting-Host: 83.142.222.167
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1338416212 20441 83.142.222.167 (30 May 2012 22:16:52 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 30 May 2012 22:16:52 +0000 (UTC)
    X-User: sebo.bialy
    In-Reply-To: <jq64tm$t68$1@inews.gazeta.pl>
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.16)
    Gecko/20101125 Thunderbird/3.0.11
    Xref: news-archive.icm.edu.pl pl.comp.programming:197506
    [ ukryj 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: