Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> URL shortener - Symfony 4.
smk
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.06.2018

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


Witam.
Prosiłbym Was o code review aplikacji do skracania adresów (IMG:style_emoticons/default/smile.gif) Czym więcej feedbacku, tym lepiej!
https://github.com/selfmadeking/URL-shortener-Symfony-4
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat
druga mnie trochę przyprawia o ból głowy
- bo użyłeś "else if" czego ja np. nie zalecam. Wystarczą te same ify co w funkcji pierwszej, lecz rozbudowane o sprawdzenie czy zmienna "result" jest ustawiona i tyle. Największą dla mnie zaletą tego podejścia jest łatwość debugowania, wystarczy dać:
  1. dump($result);

Identycznie z kodem typu:
  1. return ($a + $b);

Gdzie po return masz blok kodu, niby nic takiego ale jak chcesz prześledzić w debugerze los jakiegoś obiektu to musisz się trochę więcej napocić.

Cytat
Redukuje to ilość ifów które potencjalnie mogą wystąpić
- jest taka zasada w programowaniu "don't sacrifice clarity for brevity", wolę nawet więcej ifów, klamr, brak operatorów trójargumentowych itp. byle kod był jak najłatwiejszy do zrozumienia.
Taki przykład:
  1. public function doSth($x = null){
  2. if($x){
  3. $y = 0;
  4. }else{
  5. $y = $x;
  6. }
  7. }

vs
  1. public function doSth($x = null){
  2. $y = 0;
  3. if($x){
  4. $y = $x;
  5. }
  6. }

W przykładzie pierwszym programista czyta: "blok warunkowy, y jest 0 lub x w zależności od x"
W drugim niby to samo, ale człowiek czyta; "deklarujemy y z domyślną wartością 0, potem nadpisujemy iksem gdy ten nie jest nullem"
Akurat w tych przykładach nie ma to znaczenia, ale za miesiąc te metody mają po 50 linijek i pomimo, że druga metoda była na początku bardziej zwięzła, to nagle okazało się, że y zawsze jest nadpisywany, jest jakiś blok martwego kodu albo odwrotnie, jakiś kod się zawsze wykonuje. Po prostu metoda pierwsza bardziej odwzorowuje jakiś blok decyzyjny opisany w dokumentacji procesu biznesowego, zaś druga choć bardziej zwięzła jest jednocześnie bardziej wrażliwa na zmiany w kodzie (zwłaszcza robione przez wielu programistów).
Typowy tego przykład, to użycie "else if" zamiast zagnieżdżonego ifa - ok, mamy mniej wcięć i linijek, ale czy kod jest dzięki temu bardziej czytelny?
Po prostu uważam, że zwięzłość kodu nigdy nie powinna być ważniejsza niż czytelność i jeśli z jakiś powodów redukcja paru linijek może zaburzyć czytelność to powinniśmy z niej zrezygnować.

No ale to wszystko są szczegóły, które nie mają większego znaczenia jeśli nie tworzy się nie wiadomo jak rozbudowanych metod - niestety w praktyce bywa różnie (IMG:style_emoticons/default/wink.gif) Są o wiele większe problemy w programowaniu
Jakby ktoś chciał zgłębiać ten temat dalej to jedna z ciekawszych debat w sieci o tym:
https://stackoverflow.com/questions/36707/s...eturn-statement
Go to the top of the page
+Quote Post

Posty w temacie
- smk   URL shortener - Symfony 4.   17.08.2018, 16:34:55
- - athabus   Kurcze, aż szkoda żeby taki fajny temat się zmarno...   23.08.2018, 21:25:44
|- - Lion   Cytat(athabus @ 23.08.2018, 22:25:44 ...   23.09.2018, 09:30:48
- - Pyton_000   Jedna uwaga do Form->isValid. Owszem sprawdza a...   24.08.2018, 08:07:15
- - athabus   No proszę, człowiek uczy się całe życie. Zawsze dl...   26.08.2018, 17:15:12
- - Pilsener   Jak powyżej, np. taka metoda: [PHP] pobierz, plai...   1.09.2018, 22:14:03
- - Pyton_000   Odniosę się do pkt.6 z którym się nie zgodzę. Nie ...   2.09.2018, 09:49:50
- - viking   Swoją drogą tam wzorzec na url jest niepoprawny. N...   2.09.2018, 09:54:35
- - athabus   Z if'ami każdy ma swoją teorię. Ja akurat też ...   2.09.2018, 15:22:32
- - Pilsener   Cytatdruga mnie trochę przyprawia o ból głowy - bo...   2.09.2018, 20:07:19
- - nospor   Cytat- jest taka zasada w programowaniu "don...   3.09.2018, 10:53:23
- - athabus   Kurcze Pilsener dla mnie 2 wersja jest bardziej cz...   3.09.2018, 15:07:55
- - Pilsener   Cytatodnosisz sie do wypowiedzi Pytona wyrwanej z ...   4.09.2018, 09:45:20
- - athabus   Zgadzam się, że nie można na zasady patrzeć ślepo ...   4.09.2018, 19:29:26
- - athabus   Ciekawe, że każdy ma swoje standardy w kwestii kod...   24.09.2018, 14:45:59
- - nospor   Na szczescie w nowym wydaniu php bedzie mozna typo...   24.09.2018, 14:49:29
- - athabus   Chyba czytasz w moich myślach, bo właśnie miałem n...   24.09.2018, 14:54:18
- - nospor   CytatNo to jeszcze poproszę return type mixed przy...   24.09.2018, 15:03:38
- - athabus   Czasami sa sytuacje, ze nie da sie w php przewidzi...   24.09.2018, 16:29:57
- - nospor   Jesli nie wiesz, co bedzie zwracac twoja funkcja, ...   24.09.2018, 18:41:44
- - athabus   Czy ja wiem czy zle zaprojektowany. Php ma w sobie...   24.09.2018, 19:22:12
- - nospor   CytatObject tu tematu nie rozwiaze, bo w takiej ta...   25.09.2018, 10:36:37
- - Pyton_000   Nie ma takiej sytuacji że nie da się tego opisać j...   25.09.2018, 16:58:11
|- - borabora   Cytat(Pyton_000 @ 25.09.2018, 17:58:1...   27.09.2018, 07:21:27
|- - athabus   Cytat(Pyton_000 @ 25.09.2018, 17:58:1...   7.10.2018, 14:55:56
- - Pyton_000   Null jest dość specyficzny. Ale taki prototyp fun...   27.09.2018, 07:34:34


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: 14.10.2025 - 13:59