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 |
|
|
|
![]() |
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ć:
Identycznie z kodem typu:
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:
vs
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 |
|
|
|
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
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 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 23:40 |