eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[OT] Zarządzanie konfiguracją modułów kodu źródłowego › Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.task
    .gda.pl!news.mm.pl!.POSTED!not-for-mail
    From: Zbych <z...@o...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
    Date: Sun, 06 May 2012 14:19:08 +0200
    Organization: Multimedia Polska SA
    Lines: 41
    Message-ID: <jo5q8q$5u9$1@news.mm.pl>
    References: <o...@j...jedi>
    NNTP-Posting-Host: host-62-141-227-0.tomaszow.mm.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.mm.pl 1336306778 6089 62.141.227.0 (6 May 2012 12:19:38 GMT)
    X-Complaints-To: a...@m...pl
    NNTP-Posting-Date: Sun, 6 May 2012 12:19:38 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120411 Thunderbird/11.0.1
    In-Reply-To: <o...@j...jedi>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:630669
    [ ukryj nagłówki ]

    W dniu 06.05.2012 13:09, Andrzej Ekiert pisze:

    > Problem:
    > W każdym projekcie, który korzysta z danego modułu, ustawiamy
    > odpowiednio wszystkie parametry. Następnie, z dowolnej przyczyny, w
    > bibliotece zmieniamy zestaw parametrów konfiguracyjnych oferowanych
    > przez moduł. W efekcie musimy poprawić pliki konfiguracyjne w każdym z
    > projektów, co przy rosnącej liczbie tych projektów po chwili staje się
    > boleśnie pracochłonne.

    Na to nic nie poradzisz. Skoro biblioteka zmienia swoje
    parametry/interface to musisz dostosować do niej programy.
    W c++ od biedy można zastosować parametry domyślne albo przeciążyć
    funkcje. Wtedy stare programy mogą korzystać ze starego interfejsu.

    > Szukam mądrej metody radzenia sobie z tą niepotrzebną pracą. Metody
    > aplikowalnej do kodu w C i assemblerze (choć bardzo chętnie usłyszę,
    > jeśli w C++ da się to zrobić jakoś lepiej). Ważne, aby metoda nie
    > powodowała skutków run-time (np. zamiast ustalać rozmiar pamięci w
    > konfiguracji, mogę mieć zmienną ustawianą w funkcji inicjalizującej, do
    > pinów mogę mieć callbacki włącz/wyłącz,

    A to już zwykłe makra, definy, funkcje inline, specjalizacje szablonów
    nie wystarczą do ukrycia fizycznego położenia pinów?

    > sprzętowego modułu I2C mogę mieć dodatkową warstwę abstrakcji, ale
    > wszystko to kosztuje pamięć lub cykle, a w przypadku niektórych
    > parametrów jest praktycznie niewykonalne - poza tym tylko to przesuwa
    > problem ze zmian konfiguracji, na zmianę API).

    Jeśli do wszystkich modułów I2C z różnych procesorów jesteś w stanie
    opracować jeden interface to nie ma problemu. Dodajesz do projektu plik
    ze swoją obsługą I2C od danego procka i już. Moduł radiowy wykorzysta te
    funkcje, które dołączy linker. Zero narzutu.


    Ja raczej unikami używania tej samej kopii biblioteki do różnych
    projektów. Dasz sobie głowę uciąć, że zmiana w bibliotece pod bieżący
    projekt x nie spowoduje jakiś anomalii w projekcie x-10, który pisała
    inna osoba?
    Wolę zrobić kopię biblioteki z projektu x-1 i nanieść poprawki.

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: