![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 6.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Tworze aktualnie klase do jednego z moich projektow. Ów klasa niestety przekroczyla juz 3k linii kodu i dos ciezko sie polapac w kolejnych jej metodach pomimo lcznych komentarzach. Rozwiazaniem problemu byloby rozbicie jej na kilka plikow ktore dolaczalbym do glownego pliku. W jaki sposob moge to zrobic tak by wszystkie includowane metody dzialaly poprawnie? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
3000 linii kodu?! Co to za kasa, że tyle tego tam masz. Nie powinieneś tego rozbić na inne, bardziej wyspecjalizowane obiekty? Ogólnie bloku klasy nie da się w PHP przerwać.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 6.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Hmm. Po prostu tak mi wygodnie miec w jednej klasie. Poza tym z tych 3000 mnostwo to jednak komentarz. Czy rozmiem takie dolaczene innych plikow nie istnieje?
|
|
|
![]()
Post
#4
|
|
Grupa: Nieautoryzowani Postów: 42 Pomógł: 0 Dołączył: 15.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zetknąłem się z podobnym problemem kiedyś. Klasa której rozbijanie na mniejsze nie miało sensu i tak jak mówisz 1/4 kodu to komentarze (jak nie lepiej). Nie wiem czy rozbicie na pliki jest w ogóle możliwe ale osobiście polecam jednak zaopatrzyć się w dobre IDE. Na przykład NetBeans 6.8 i wykorzystanie zwijania wierszy ale przede wszystkim używanie nawigatora dzięki czemu w mgnieniu oka znajdujemy się tam gdzie chcemy i mamy pełny obraz tego co się znajduje w klasie. Do tego zaznaczamy sobie na kolumnie z numerami wierszy najważniejsze linie kodu mamy do nich dostęp z prawego paska.
![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 77 Pomógł: 10 Dołączył: 4.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
rozwiazanie z gatunku wtfcode, traktowac raczej jako zart
![]()
Ten post edytował fleshgrinder 19.05.2010, 01:24:39 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Co ta klasa robi?
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Na swoim blogu Maarten Balliauw zamieścił posta, który pasuje do Twojej sytuacji jak ulał - Extension methods for PHP. W skrócie - możesz rozszerzyć jedną klasę, metodami innej. Rozwiązanie to ma kilka minusów. Poczytaj komentarze pod postem, najdziesz w nich kilka wskazówek jak ulepszyć przykładowy kod.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 22:22 |