Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kod czy include
Forum PHP.pl > Forum > PHP
lukasamd
Witam,
mam pewne pytanie, lepiej jest zostawić w jakimś skrypcie kupę kodu czy podzielić go na funkcję i wrzucić do oddzielnych plików a w razie potrzeby includować.

Mam statystyki w których nie wszystko jest zawsze potrzebne i ładowane więc myślałem aby jeszcze bardziej uprościć kod np.

if moduł_właczony {
- zapytanie do sqla
- wyświetlenie wyników
}

if moduł_właczony {
- include plik_modulu
}

Powiedzmy że modułów jest 50, co będzie szybsze - oddzielne pliki czy 1 duży skrypt? Przy oddzielnych będę mógł w sumie zrobić 1-2 pętle które będą sprawdzać całość a kod będzie ok. 50x krótszy.
nospor
oczywiscie ze wszystko oddzielnie. Raz ze masz czytelniejszy kod, dwa ze ladujesz tylko to co trzeba a nie wszystko naraz
lukasamd
Ale czy biorąc pod uwagę, że moduły są dosyć niewielkie nie ma sytuacji że zysk z oddzielnych plików będzie mniejszy albo będzie wcale nie istniał? Przecież include chyba też nieco obciąża... z drugiej strony jak ktoś wyłączy 1/2 statsów to połowa pliku jest zupełnie niepotrzebna.
nospor
Cytat
Przecież include chyba też nieco obciąża...
milion includow na raz to moze by i obciazylo. Ale nie jeden dodatkowy include na zaladowanie wlasciwego modulu.
andrew1985
wierz mi ze problemem w wydajności nie jest to czy dać include czy nie, czy dasz i++ czy +ii. Problemem są stosowane algorytmy, rozwiązania, architektura. W duzych projektach najważniejsza jest czytelny kod i struktura porogramu. Nieraz poświeca się nawet 200% wydajności na rzecz czytlności kodu.

I nie optymalizuje się szybkosci kodu zmieniajac fora na while, i++ na ++i czy rezygnacji z includów i innych rzeczy. Optymalizuje się zawsze najwęzsze gardło całej aplikacji poprzez zmiane algorytmu lub koncepcji na rozwiazanie danego problemu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.