![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 31.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam szanowne grono
Wybrałem ten dział gdyż chyba jest bezpośrednio związany z oop. Odziedziczyłem po byłym adminie bardzo rozbudowaną aplikację do zarządzania firmą napisaną w PHP4 (strukturalnie). Z analizy kodu (przez kilka miesięcy ślęczę nad kodem by cokolwiek naprawić lub zmienić) wynika, że ta aplikacja żyła własnym życiem. Coś trzeba było dodać to "if" i po problemie, jak się okazało, że Kowalski ma inne uprawnienia to "if" i po problemie, jak Wiśniewska chciała inne kolorki to "if" i po problemie ![]() Problemy 1. Posiadam serwer na OVH i mogę przełączyć się na PHP5 ale wtedy wszystkie krypty zaczną działać pod 5 i boję się efektu przejścia? 2. Czy warto w ogóle przebudowywać cały kod na oop, czy lepiej na podstawie funkcjonalności zaprojektować cała aplikację od podstaw? 3. Poprawki wstawiać w oop czy trzymać się struktury? takie akademickie pytania, do szału mnie jednak doprowadza ślęczenie nad kodem przez kilka godzin żeby odkryć, że ten if odpowiedzialny jest za prawidłowe wyświetlenie danych. A może jakieś inne sugestie co z tym można zrobić? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ad 2. Pisz od nowa. Jest takie powiedzenie Z gówna kryształy nie zrobisz. Odziedziczony kod kiepskiej jakości częściej jest do wymiany, niż do refaktoryzacji.
ad 1. Problem zniknie, jeżeli zastosujesz się do punktu 1-ego ad 3. nie wiem ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Często, gdy piszę coś na szybko to wszystko strukturalnie. Po jakimś czasie, gdy aplikacja się rozrasta zaczynam zabawę w OOP od początku.
Tak więc i Tobie radzę napisać od początku i stworzyć choćby dla siebie dokumentację. Aplikacje pisane w OOP jest zawsze łatwiej modyfikować. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 4 Dołączył: 16.07.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Sam mam podobny problem i myśl o refaktoryzacji nawet mi nie przeszła przez głowę. Pisz od podstaw, mniej nerwów będzie cię to kosztowało.
-------------------- devFactor
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 28.09.2007 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Przejście z PHP4 na PHP5 nie powinno spowodować najmniejszych problemów, chyba że jakiś łoś się odwoływał do globalsów. Zmieniasz odwołania i śmiga.
Żeby się nie grzebać w jakimś lewym kodzie, jest szybki sposób: robisz listę wszystkich zczytywanych globalsów w tablicy, dajmy na to $t. Później foreach ($t as $k) $$k = $_REQUEST[$k]; i wrzucasz to do pierwszego z brzegu includa. Prowizorka, ale szybka i skuteczna. Żeby nie było, ten sposób to tylko na kod którego nie chcesz w ogóle dotykać, po prostu mały patch, żeby chodziło pod PHP5, a przy okazji działało bezpieczniej niż lamerski orgyginał. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 31.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Globalsów nie zauważyłem ale obecnie babram się w jednej funkcji składającej się 3000 linii a sam plik ma 3 takie funkcje. Po mojej interwencji funkcja zmalała do 100 linii i 13 plików z innymi funkcjami pomocniczymi i aż ręka drży aby tego w klasę nie wpakować
![]() Co do refaktoryzacji to problem jest finansowy. Oni mi na razie nie zapłacą a mnie szlag trafia jak jakieś pole w formie nie działa poprawnie. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:06 |