Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmienne lokalne i sprawdzanie argumentów
Brick
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 9
Dołączył: 16.02.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W sumie dwa pytania:
1. Czy używacie specjalnych zmiennych lokalnych wewnątrz funkcji żeby zwiększyć czytelność kodu?
Zamiast:
  1. function convertString($string)
  2. {
  3. $string = doSomething($string);
  4. return $string;
  5. }

Coś takiego:
  1. function convertString($input_string)
  2. {
  3. $converted_string = $input_string;
  4. $converted_string = doSomething($converted_string);
  5. return $converted_string;
  6. }

W książce "Kod doskonały" autor pisze, że jest to dobry zwyczaj bo jest jasne co jest wartością zadaną a co wyjściową. Ale zastanawiam się jak to jest w praktyce.

2. Czy sprawdzanie argumentów funkcji ma zawsze sens?
Przykładowo
  1. function convertString($string)
  2. {
  3. if ($string)
  4. {
  5. $string = doSomething($string);
  6. }
  7. return $string;
  8. }

Na ogół tak robię zakładając, że nie ma sensu wykonywać jakiś operacji jeżeli nie ma na czym tego wykonać (wartość równa null). Ale może to niepotrzebne komplikowanie kodu gdyż (jak zakładam) PHP nie będzie wykonywać operacji na pustych danych?
Cały czas mam na myśli właśnie takie małe, dość proste funkcje a nie bardziej złożone gdzie kontrola argumentów jest po prostu konieczna.

Ten post edytował Brick 14.11.2017, 13:18:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Brick
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 9
Dołączył: 16.02.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Chodzi mi o przypadek w którym wartość w argumencie w ogóle nie jest wymagana, tzn prawidłowe działanie funkcji też jest takie że nic nie zwraca. Czyli np string wsadowy może być pusty i wtedy funkcja zwróci pusty wynik. I to jest ok tylko czy te wszystkie operacje które wykona na pustym stringu będą jakimś obciążeniem dla serwera?

Może trzeba by zapytać twórców PHP jak to właściwie działa ...

Ciekawa ta biblioteka beberlei/assert. Używa się tego tylko do pisania testów czy normalnie w produkcji?

Co do wersji PHP na serwerach to różnie z tym bywa. Z mojego doświadczenia wynika że im większa uczelnia tym większa bezwładność i biurokracja. Są takie które zaktualizują a są takie w których odpowiedź jest "nie przewidujemy obecnie aktualizacji" i tyle. Zresztą czasem od razu w specyfikacji zapytania ofertowego jest określona wersja PHP.

Są też firmy, które mają swoje serwery i wychodzą z założenia że jak działa to nic nie trzeba ruszać (poza aktualizacjami bezpieczeństwa). No i zadają proste pytanie: "A na starszej wersji PHP to da się zrobić? Jak się da to o co chodzi?".

Trochę zjeżdżam z tematu ale chyba nie ma sensu zakładać nowego wątku choć zagadnienie ciekawe.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 20:59