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%)
-----


Dzięki za odpowiedzi.

W książce chodziło trochę o inny przypadek, gdy argument funkcji nazywa się inputValue i potem w ciele funkcji robi się na nim różne działania i na końcu jest zwracana zmienna, dalej nazywająca się inputValue. To jest jasny przypadek, że tak nie powinno się robić bo wprowadza w błąd. Ale zastanawiałem się czy ma sens pójście krok dalej czyli trochę sztuczne dodatkowe nazywanie zmiennych. W moim przykładzie "doSomething" jest oczywiście bardziej złożoną procedurą, więc użycie zmiennej robi się konieczne.

No ale chyba macie rację, takie kombinowanie sztuczne z nazwami nie ma sensu.
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: 4.10.2025 - 21:44