![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Czy pisząc kod jestem zobowiązany w pewnych blokach kodu używać zwykłego ifa czy też skróconego czy to zależy tylko ode mnie (wiem może pytanie głupie ale dla mnie skrócony if to coś bardzo przydatnego, kod się wtedy robi dla mnie bardziej czytelny w pewnych momentach) Jak wy to rozpatrujecie u siebie? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 23 Dołączył: 20.01.2011 Skąd: Chełm Ostrzeżenie: (0%) ![]() ![]() |
Ja jestem przyzwyczajony do standardowego ifa wiec ogólnie zależy od tego kto jak to woli. W życiu to tylko kilka razy pisałem operatorem trójkowym i szczerze mi się czytelnie piszę w normalnym if-ie.
|
|
|
![]()
Post
#3
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
To jest kwestia obycia z takim zapisem. Ja go stosuję, bo jest krótki w zapisie...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dla mnie tez to jest szybsze i lepsze często (IMG:style_emoticons/default/haha.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ba nawet w nowszym PHP coś takiego:
Kod $zmienna = $zmienna ?: 0;
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 6 Dołączył: 19.12.2010 Skąd: Krzyżanowice Ostrzeżenie: (0%) ![]() ![]() |
Jest ok, byle unikać zagnieżdżania, na tym się kiedyś nadebugowałem, że ho!
Jak jest napisane w dokumentacji: It is recommended that you avoid "stacking" ternary expressions. PHP's behaviour when using more than one ternary operator within a single statement is non-obvious: |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
A już nie pisząc nowego tematu mając klasę i w niej wiele metod to lepiej napisać więcej mniejszych metod(mniej kodu w każdej z nich i każda do poszczególnych działań się odnosi) czy lepiej napisać kilka większych metod i tam wszystko upchać?
Ten post edytował Fred1485 25.04.2015, 12:28:56 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Metody powinny byc możliwie Male i odpowiadać za jedna pojedyncza rzecz. Wg. Mnie metoda z więcej niż 10-15 linijek musi mieć na prawdę dobry ku temu powod (oczywiscie nie mowie tutaj o np. 20 setterach jakies klasy/encji) a powyżej 20 to już brązem zalatuje (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
To jeszcze jedno pytanko,
na początku w klasie sobie definiuję zmienne np: private $page, etc... I pytanie jest takie czy każdą zmienną która będzie użyta choć raz w klasie muszę zapisać aby kod był napisany prawidłowo (jak nie napiszę to też oczywiście zadziała wiadomo dlatego chodzi bardziej o ścisłość) np mam prostą metodę:
Funkcja przyjmuje dwa parametry oraz zwraca wartość i czy tutaj to poprawnie napisałem czy wystarczy:
Nie do końca rozumiem kiedy te zmienne na początku deklarować (tutaj widać w tej metodzie że jakaś wartość jest zwracana i potem nie będzie nigdzie indziej w klasie użyta) Jaka jest zasada bo na pewno jest, przeglądając kody innych programistów widać że często stosują to z drugiego przykładu (IMG:style_emoticons/default/sad.gif) Ten post edytował Fred1485 25.04.2015, 17:13:46 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli nie wykorzystujesz nigdzie pola klasy to nie ma sensu go inicjalizować
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Ale w jakim sensie nie wykorzystuje? Tutaj jedynie wykorzystuje zmienne parent i replace w jednej metodzie ale jednak używam. Chodzi ci o to ze jak w innym miejscu nie używam?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Atrybuty deklaruje się wtedy, gdy chcesz mieć w klasie dostęp do danych. Przykład:
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 6 Dołączył: 19.12.2010 Skąd: Krzyżanowice Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli nie wykorzystujesz nigdzie pola klasy to nie ma sensu go inicjalizować To zdaje się należy do dobrych praktyk (inicjowanie zmiennych choćby nullem) a poza tym przydaje się szczególnie w PHP, gdy ktoś ma przejąć kod i nie wie, co i po co ta zmienna. Z tym, że zmienna musi być oczywiście gdzieś w metodzie użyta, jak nie jest, to po co ją deklarować? Ale Autorowi chodziło chyba o to, że ni z gruchy ni z pietruchy wprowadza w prywatniej metodzie Cytat $this : Kod $this->_inactive_link = str_replace($pattern, $replace, $this->_params['inactive']); return $this->_inactive_link; zamiast Kod $inactive_link = str_replace($pattern, $replace, $this->_params['inactive']); return $inactive_link; (czy lepiej - od razu Kod return tr_replace($pattern, $replace, $this->_params['inactive'] - po co ta zmienna $inactive_link? ) Otóż takie $this stosowane nieświadomie jest bez sensu i szkodliwe. Świadome zresztą też jest złe. Gdzie enkapsulacja? Gdzie unikanie efektów ubocznych? Ale mi się zdarza (IMG:style_emoticons/default/smile.gif) Ten post edytował Janusz1200 25.04.2015, 21:03:33 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:25 |