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
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


1. zależy od kontekstu. Ja używam zazwyczaj tylko jak potrzebuję oryginalną zmienną gdzieś jeszcze. I kod też od razu zamiast return $string, return some();
2. Wiesz że jest PHP 7 i to co opisałeś załatwia się bezpośrednio? https://seld.be/notes/php-versions-stats-2017-2-edition Według statystyk packagist PHP 7 to już prawie 70% wszystkich wersji. Może pora przestać udawać że nie istnieje?
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: 11.10.2025 - 01:29