• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy rozbijanie programu na tak małe pliki ma sens?

Mały hosting, OGROMNE możliwości
+3 głosów
417 wizyt
pytanie zadane 20 października 2016 w C i C++ przez Konrad Nabożny Stary wyjadacz (13,480 p.)

Witam. Piszę sobie własną amatorską interpretację baz danych MySQL. Moje pytanie brzmi, jest jakikolwiek sens segregować program na tak małe foldery i pliki jak na zdjęciu? Chcę po prostu aby program był posegregowany na możliwie najmniejsze jednostki gdzie w pojedynczym pliku .cpp będą tylko metody dla konkretnej klasy, tak aby tego wszystkiego nie mieszać. Niestety martwią mnie sytuacje w których dodawanie tych plików wygląda mniej więcej tak: 

#include "../headers/logic/logic.h"
#include "../headers/typing/typing.h"

Przecież z czasem to będzie tak rozległe że linia ze ścieżką będzie bardzo długa, lub będzie ich bardzo, bardzo dużo. 

 

komentarz 20 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
no mooze te headers mozesz usunac, ale tak to ten typing czy logic, czemu nie ja sam tak robie, gdy musze pracowac na wielku plikach. Zalozmy przesylam program koledze, mowi tu masz blad, a ja juz wiem ktory folder i nie szukam plikow, tylko otwieram folder biore plik edycja i koniec
komentarz 20 października 2016 przez Konrad Nabożny Stary wyjadacz (13,480 p.)
Właśnie to headers.. Gdy nie robię tego folderu to pliki są wrzucone bezpośrednio do głównego folderu z programem, a chciałbym tego uniknąć.
komentarz 20 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
przeniesione 20 października 2016 przez DragonCoder
Przeciez logic.h i .cpp dajesz do jednego folderu....

1 odpowiedź

+1 głos
odpowiedź 20 października 2016 przez criss Mędrzec (172,570 p.)

Po pierwsze: taka drobna uwaga. Skoro nagłówki są w katalogach headers/whatever, to *.cpp też niech będą np. w src/whatever zamiast bezpośrednio w katalogach na równym poziomie z tym przechowywanym nagłówki.

Przecież z czasem to będzie tak rozległe że linia ze ścieżką będzie bardzo długa, lub będzie ich bardzo, bardzo dużo. 

Podczas pisania raczej nie będzie ci to przeskadzać, bo kolejne #includy będziesz dodawał sukcesywnie, z czasem. Zużytymi liniami kodu nie powinieneś się przejmować. Z myślą raczej o użytkowniku niż dla użytku w kodzie, możesz stworzyć (wypadałoby) pliki nagłówkowe zawierające same dyrektywy #include plików z danego katalogu. Np. logic.h - i tutaj #includy wszystkich nagłówków mieszczących się w /logic. Wtedy użytkownik pisze sobie #include <.../logic.h> i ma wszystko.

komentarz 21 października 2016 przez criss Mędrzec (172,570 p.)

Jeszcze tak dopowiem odnośnie

Przecież z czasem to będzie tak rozległe że linia ze ścieżką będzie bardzo długa

(sorry, że tak późno :P)

Możesz przecież dodać do Include Dirs (w opcjach projektu) ten twój folder /headers. Albo w ogóle wszystkie katalogi w /headers osobno, ale to już raczej bez sensu bo będziesz mógł pisać #include <whatever.h> niezależnie czy dany header znajduje się w headers/logic, headers/typing czy innym dodanym do Include Dirs katalogów. Więc raczej będzie burzyć czytelność. 

Podobne pytania

0 głosów
3 odpowiedzi 1,016 wizyt
pytanie zadane 1 lutego 2017 w PHP przez JakisNowy Nowicjusz (150 p.)
0 głosów
1 odpowiedź 708 wizyt
pytanie zadane 22 stycznia 2017 w C i C++ przez DragonCoder Nałogowiec (36,500 p.)
0 głosów
3 odpowiedzi 1,474 wizyt
pytanie zadane 11 grudnia 2016 w C i C++ przez Pan Piguła Nowicjusz (130 p.)

93,715 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,259 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...