Re: Jak správně rozdělit C++ projekt
Petr Labaj
labaj na volny.cz
Pondělí Srpen 23 16:48:47 CEST 2021
Asi jde o to, o co jde.
Jestli to má být přehledné a pochopitelné pro Vás, nebo i pro nějaké
cizí lidi, případně to má sloužit třeba pro zápočet na škole.
Řekl bych, že je dobré mít pohromadě věci, které patří k sobě.
Za sebe si myslím, že dobrým zvykem je, že "include" by neměl obsahovat
výkonný kód, ale jenom makra a deklarace.
A skládání výkonného kódu pak nechat na projektu/make/linkeru.
Ale je-li to jen pro Vás, a vyhovuje Vám to, tak klidně skládat i *.c.
Podle klíčových slov "setup" a "loop" to bude nějaká Arduinovina, takže
to zřejmě nebude kdovíjak rozsáhlý projekt.
Kdybych to dělal já, tak bych věci, které patří k sobě, dal do jednoho
souboru. Případně i s globálními proměnnými, které k tomu patří.
Do jednoho *.h, které bych pak do všech modulů includoval, bych pak dal
deklarace všech funkcí ze všech modulů.
A také deklarace proměnných (s příznakem "extern") , ale jen těch, které
se používají ve více modulech.
Takže globálky, použité jen jedním modulem, by zůstaly jen v něm.
Což funguje jako aspoň triviální kontrola a přehled, co se používá různě
křížově.
Anebo třeba úplně jinak. ;-)
PL
***********************
Dne 23.8.2021 v 15:47 Petr Zapadlo napsal(a):
> Zdravím,
>
> nějak se nemůžu domluvit s rozdělením původního jedno velkého souboru
> na menší. Mějme jeden soubor main.cpp který má následující strukturu:
>
>
> část #include
>
> část #define (piny a podobně)
>
> část deklarace funkcí
>
> část vytvoření instancí tříd
>
> část definice globálních proměnných
>
> funkce setup
>
> funkce loop
>
> definice funkcí.
>
> A pro zlepšení orientace a čitelnosti bych rozdělit nějak takto po
> souborech:
>
> globální proměnné, instance tříd a #define
>
> setup a loop
>
> definice funkci
>
> Jaký to má správný postup, buď mu někde něco chybí a nebo si naopak
> stěžuje, že je daná proměnná redefinována
>
>
> Díky
>
> Petr
Další informace o konferenci Hw-list