Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Rozbicie klasy na kilka plikow
likon1
post 18.05.2010, 20:34:45
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?

Go to the top of the page
+Quote Post
Crozin
post 18.05.2010, 20:43:33
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ć.
Go to the top of the page
+Quote Post
likon1
post 18.05.2010, 20:47:55
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?
Go to the top of the page
+Quote Post
Marcstee
post 18.05.2010, 21:18:06
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. smile.gif
Go to the top of the page
+Quote Post
fleshgrinder
post 19.05.2010, 01:23:48
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 winksmiley.jpg zakladajac, ze Twoja klasa nazywa sie Something:

  1. class SomethingPartOne {
  2. ...
  3. }
  4.  
  5. class SomethingPartTwo extends SomethingPartOne {
  6. ...
  7. }
  8.  
  9. class Something extends SomethingPartTwo {
  10. ...
  11. } // na jej podstawie tworzyc obiekt


Ten post edytował fleshgrinder 19.05.2010, 01:24:39
Go to the top of the page
+Quote Post
wookieb
post 19.05.2010, 06:48:17
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?


--------------------
Go to the top of the page
+Quote Post
batman
post 19.05.2010, 06:51:48
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 22:22