ppawel
ppawel
38
PHP Streetfighter
#php #programowanie ( ͡° ͜ʖ ͡°)
  • Najlepsze
  • Wszystkie komentarze
J.....Q
J.....Q
@nadmuchane_jaja: @moon5: @nadmuchane_jaja: @qtsms:
Serio nikt nie wpadł na to ?
ufo99
nadmuchane_jaja
@qtsms: ja jak już mam tworzyć taką choinkę, to robię to tak:

if ( x == x ) { // ID: 0001
if ( y == y ) { // ID: 0002

} // end if
ufo99
@nadmuchane_jaja: Przede wszystkim w takiej formie jest to nieczytelne - można oczopląsu dostać i w tej kwestii bardzo polecam "Czysty Kod" Roberta C. Martina (jak Helion robi promocję można wyjąć za niecałe 40 cebulionów).
@moon5
Z prostych uwag:
1. Funkcja nie powinna się kończyć exitem, powinna coś zwracać. Header warto byłoby wydzielić i zabezpieczyć przez zapętleniem. W takim układzie niewiele brakuje, żeby sobie zapętlić przeskoki.
2. Funkcja powinna wykonywać jedną czynność. A tutaj
nadmuchane_jaja
@moon5: to wszystko zależy od kodera, jak jest ogarnięty to nawet największy bajzel nie popsuje pracy :) ale... im bardziej nieczytelny kod tym łatwieł o pomyłkę :/
q.....u
q.....u
powinien przestać po pierwszym błędzie


@qtsms: Dlaczego? Jak mam jakiś większy formularz to chcę widzieć od razu wszystkie błędy, a nie "nie wypełniłeś pola A" to wypełniam, submituję i dostaję "nie wypełniłeś pola B", więc wypełniam, submituję i dostaję kolejne błędy. Bez sensu
mmmk
mmmk
2
@JareQ: Tak, to zdecydowanie najlepsza opcja, sam tak piszę. Agregujemy błędy i informujemy użytkownika, co jest nie tak z każdym polem, a nie wywalamy się na pierwszym zostawiając masę błędów w kolejnych ;) Oczywiście, jak pisze @ufo99, warto to opakować w jakiś obiekt przechowywujący strukturę takiego formularza i widok wyświetlający błąd obok pola (i oznaczający pole jako błędne).
Czytelność kodu to jedno, użyteczność dla Janusza - drugie.
moon5
@ppawel: Co w tym złego, poza dziwną formą?
q.....s
q.....s
@moon5: złe jest to, że else masz daleko od if do którego się odnosi więc trochę nieporządnie.
q.....s
q.....s
@nadmuchane_jaja: mi się podoba. Będę korzystał. :)
ufo99
@moon5: Nie tyle nieprzepisowo, co po prostu utrudnianie sobie życia.
Każdy powrót do takiego kodu w celu zmian będzie bołał coraz bardziej. A jak siądzie ktoś inny to już w ogóle ( ͡° ͜ʖ ͡°).
J.....Q
J.....Q
@qtsms: to tylko koncepcja którą można zmodyfikować. Wg mnie jedyna słuszna.
ufo99
Wg mnie jedyna słuszna.


@JareQ: Buta przez kolegę przemawia ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
Nie ma "jedynej słusznej" koncepcji, a z prostych - lepszym byłoby zastąpienie Twojej tablicy obiektem, który by kolejkował komunikaty i zwracał je (wygodniej) w odwrotnej kolejności
q.....s
q.....s
@qwertyu: dlatego, że szukamy alternatywy dla konstrukcji zagnieżdżonych w sobie if-else, a ta konstrukcja tak właśnie działa... nie myślałem o problemie w kontekście formularzy tylko ogólnie.
nadmuchane_jaja
@ufo99: z ciekawości, macie jakieś inne sposoby na takie cuda? :) widziałem juz wiele, ale w większości nawet tych 'topowych' projektów takie rzeczy się zdarzają, a ludzie tworzący takie ryby tłumaczą się, że innej metody nie ma... :)
moon5
@qtsms: No daleko. Ale jak się wpatrzyć... czytelne. Jak można to inaczej napisać? Jestem początkujaca.
q.....s
q.....s
@moon5: jak się wpatrzyć na przykładzie to czytelnie ale jeżeli kodu w klamrach jest więcej to już się robi syf. Wymyśliłem sobie teraz coś takiego:

bool success = F("a");
if (success) {
success =
moon5
@qtsms: A tego nie ogarniam :) Ale jestem początkujaca, wolno mi.
moon5
@ufo99: Mhm, czyli nieprzepisowe i mogą być z tym kłopoty. Dzięki.
nadmuchane_jaja
@JareQ: nie zawsze się to sprawdza, ale jest to na pewno jakaś alternatywa - dlatego pytałem jak 'inni' to rozwiązują :) ja mam jeszcze inną metode na taką wlidację formularzy, ale wynika ona z budowy mojego frameworka, dlatego nie ma sensu jej tu publikować :)

w swoim kodzie w ogóle nie mam konstrukcji tego typu lub switchy do sterowania modułami :) #chwalesie