-
Data: 2014-02-04 10:29:55
Temat: Re: Duże pliki czy małe?
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu wtorek, 4 lutego 2014 09:07:00 UTC+1 użytkownik Adam Wysocki napisał:
> Ja staram się trzymać zasady "jeden plik - jedna klasa".
To dobra zasada. Ale...
> Jak robię jakiś
> większy moduł, to po prostu robię mu podkatalog albo namespace i dzielę
> na pliki.
Też dobrze. Ale...
> A jak to jest z Wami?
Podobnie. Ale...
> Jeden duży plik (tzn. dwa - .h i .cpp), w nich jedna klasa, w tej klasie
> inne klasy (reprezentujące stany), każdy stan ma swoje podstany, które też
> są w tym samym pliku... i to się rozrasta.
To też dobry pomysł.
> Ja implementując coś podobnego wydzieliłbym wszystkie stany do osobnych
> plików.
A ja nie.
Jaka jest rola tych klas w projekcie? Jeżeli one reprezentują jakieś odrębne elementy
logiki programu, to zasługują na osobne pliki, nawet jeśli są małe w sensie linii
kodu. Ale jeśli te klasy są jedynie technicznymi detalami jakiegoś rozwiązania, to
należą tam, gdzie ten rozwiązywany problem.
Powiedzmy, że masz moduł, który czasem coś musi posortować i do tego celu używa
komparatora do funkcji std::sort. Ten komparator, pomimo tego, że jest klasą, jest
jedynie technicznym detalem tego modułu i nie ma sensu dla niego robić osobnego
pliku. Wręcz przeciwnie - on powinien być jak najbliżej tego sortowania.
Ale...
Może też się zdarzyć, że takich komparatorów będzie więcej i będą one przydatne w
kilku miejscach - wtedy jest sens zrobić osobny plik z takimi komparatorami.
Podobnie, jest sens zebrać razem kilka klas, które służą jako wyjątki. Nie ma sensu
robić dla nich osobnych plików.
Podobnie, jest sens zebrać razem klasy reprezentujące różne stany *jednego* automatu.
Bo to jest jeden automat.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 04.02.14 11:20 Stachu 'Dozzie' K.
- 04.02.14 13:36 Adam Wysocki
- 05.02.14 14:03 inny punkt siedzenia...
- 05.02.14 15:42 witek
- 05.02.14 17:33 Sebastian Biały
- 06.02.14 00:38 Mateusz Loskot
- 06.02.14 08:10 Paweł Kierski
- 06.02.14 20:41 witek
- 07.02.14 11:23 Mateusz Łoskot
- 07.02.14 16:59 witek
- 07.02.14 19:09 Mateusz Łoskot
- 08.02.14 15:12 Michal Kleczek
- 08.02.14 15:36 g...@g...com
- 08.02.14 18:02 g...@g...com
- 08.02.14 20:41 Sebastian Biały
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=