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