![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ostatnio zastanawiałem się, jakie są często spotykane błędy, a raczej złe nawyki bądź po prostu bardzo nie wydajne lub nieoptymalne kawałki kodu jakie można znaleźć/napisać w PHP ![]() ![]() Przykład wszystkim pewnie dobrze znany:
Poprawna forma:
@aras785 - masz rację dodałem poprawną formę ![]() Szukam podobnych konstrukcji, antywzorców programowania itp. Zależy mi na tym by były one proste ![]() ![]() Jeśli znacie jakieś piszcie proszę ![]() Ten post edytował Sephirus 14.01.2013, 13:41:14 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
@Sephirus pisz również poprawne formy, ponieważ wejdzie początkujący i skąd będzie wiedział? Ps. w/w formę też używam czasami
![]() Ostatni pomagając na forum popełniłem błąd przy usuwaniu danych z bazy. Błędy zapis: Poprawny: Objaśnienie: Jeśli nie znajdzie danego ID to go nie usunie i tak błąd wywali. //poprawiłem. Kopiuj wklej i nie zauważyłem. Ten post edytował aras785 14.01.2013, 13:58:45 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Formatowanie kodu też to obejmuje?
![]() Temat: Najczestsze bledy Przejrzyj dział Oceny. Wypunktowane błędy są w prawie każdym wątku. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Cytat a raczej złe nawyki głupota i lenistwo.... dwa najczęściej spotykane na forum złe nawyki... ![]() A z bardziej przyziemnych rzeczy to np. zapytania w pętli, gdzie główna pętla idzie z zapytania a w niej znowu pętla z zapytania ![]() A już szczyt szczytów zapytania w rekurencji.... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@aras785 Twój kod nadal jest dla mnie nie zrozumiały (nie wiem po co ten SELECT na początku) - ale przeanalizuję to
![]() @!*! formatowanie (stricte) nie jest błędem a raczej niedbalstwem. Chyba, że ktoś nie lubi używać {} przy pętlach i instrukcjach a potem coś do nich dopisuje i się dziwi że zawsze działają ;P
Temat z najczęściej pojawiającymi błędami jest mi znany - myślałem że wyłapie coś jeszcze osobno ![]() ![]() ![]() @nospor Na głupotę nie ma rady ;P ale nie mogę zakładać że każdy na nią cierpi - sam robię masę błędów a potem mi wstyd ;P ale nie uważam się za totalnego głupola ![]() Zapytania w pętli to faktycznie częsta przypadłość ![]() ![]() Ale zaintrygowałeś mnie tą rekurencją z zapytaniami!! ![]() ![]() ![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Cytat Na głupotę nie ma rady ;P ale nie mogę zakładać że każdy na nią cierpi - sam robię masę błędów a potem mi wstyd ;P ale nie uważam się za totalnego głupola Nie, nie o taką głupotę mi chodziło. Błędy przytrafiają się każdemu.Cytat Ale zaintrygowałeś mnie tą rekurencją z zapytaniami!! Jak gdzie w życiu tego nie widziałem - nie wiem nawet jak to napisać masz jakiś przykład? A proszę bardzo, pierwszy przykład z brzegu: Drzewko, tabela: ID ID_PARENT ..... No i koleś pobiera rekurencyjnie całe drzewko z góry na dół. Najpierw wierzchołek, potem jego dzieci, potem dzieci dzieci i tak dalej....wszystko w ładnej niesamowidzie mulącej rekurencji ![]() Inny przykład kodów:
No i koleś się dziwi ze mu się wyswietal jeden i trzy, a przecież wyraźnie zmienna to 1 To jest też dobre:
![]() Albo to:
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ok przyznam szczerze... z tym drzewkiem... że bym na to nie wpadł
![]() ![]() Ten drugi błąd to też bardziej pod formatowanie ![]() ![]() Najgorszy błąd jaki mi się kiedyś przydarzył i naprawdę nie wiedziałem co z tym robić (pomogło dopiero przepisanie kodu od nowa ![]() (może nie błąd, ale przeoczenie)
Oczywiście ta pętla odwalała trochę roboty i to nie łatwej i nigdy nie chciała się wyświetlić :/ co bym nie robił ![]() ![]() EDIT: Te dwa ostatnie powalają nospor ale fakt nawet, że chyba na forum raz z czymś takim "pomogłem" ![]() Ten post edytował Sephirus 14.01.2013, 14:10:59 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tyle jest błędów i nieprawidłowych konstrukcji popełnianych przez ludzi, że ten cały wątek chyba nie ma celu, bo po pierwsze chyba miałby z 500 stron, a po drugie całe programowanie sprowadza się do poprawnego pisania algorytmów, więc ten temat jest tak jakby jak całe to forum
![]() -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
No i cała masa złego porównywania typów, nie rozróżnianie =, ==, ===
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja do najgłupszych błędów, który popełniłem 30 sekund temu mogę zaliczyć zostawienie patelni na gazie, a potem robienie rzeczy przy komputerze. (ktoś mnie poprosił o pomoc z pewnym problemem natury programistycznej i zapomniałem o patelni). W kuchni pełno dymu, prawie spaliłem dom
![]() Ten post edytował pyro 14.01.2013, 14:16:27 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
No i najważniejsze zło, jakie robią zarówno początkujący jak i ci, którzy uważają się za profesjonalistów:
Na to mi normalnie brak słów -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@pyro Masz całkowitą rację niestety - to jest "rzeka", można by wymieniać w nieskończoność mimo to uważam, że dobrze jest ciągle wałkować ten temat
![]() Jestem sobie programistą, uważam że pozjadałem wszystkie rozumy ![]() ![]() No i poza tym chciałbym zebrać nieco materiałów na ten temat by się nimi podzielić z "nowymi" w pracy ![]() ![]() @nospor Co do operatorów to fakt, ale bardzo podobała mi się odpowiedź Erixa w temacie o najczęstrzych błędach, że "if($costam = 123)" to nie bug - tylko feature ![]()
Czym może to być spowodowane że rzadko to ludzie stosują? Niewiedza? Gorsza przejrzystość kodu? -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
własnie w dziale przedszkole pojawił się problem z mojego posta wczesniej:
if ($zm = 'b') Bład tak czesty, ze nawet podczas pisania posta pojawiają się takie tematy ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
No i najważniejsze zło, jakie robią zarówno początkujący jak i ci, którzy uważają się za profesjonalistów: Na to mi normalnie brak słów @nospor, bzdury Pan pleciesz! To nie jest żaden błąd, tylko konstrukcja, która choć nie zawsze stosowana z rozwagą, w wielu przypadkach usprawiedliwiona. -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Cytat Czym może to być spowodowane że rzadko to ludzie stosują? Niewiedza? Gorsza przejrzystość kodu? Wg. mnie chodzi o przejrzystość. Sam tego nie stosuję choć dobrze wiem jak to działa ![]() ![]() @pyro to if ($zm = 'b') te tez nie jest błąd, tylko konstrukcja, rzadko stosowana z rozwagą ![]() Pomijam przypadki, gdy wyłączenie E_NOTICE jest usprawiedliwione. Mówię o sytujacji, gdy to w żaden sposób nie jest usprawiedliwione, np. gdy zaczynasz projekt od 0 i lecisz już z taką dyrektywą. Wówczas to jest fatalny błąd! NIe chce mi się powtarzać, więc podam tylko linka http://nospor.pl/notice-wyswietlac-czy-nie.html -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pomijam przypadki, gdy wyłączenie E_NOTICE jest usprawiedliwione. Mówię o sytujacji, gdy to w żaden sposób nie jest usprawiedliwione, np. gdy zaczynasz projekt od 0 i lecisz już z taką dyrektywą. Wówczas to jest fatalny błąd! NIe chce mi się powtarzać, więc podam tylko linka http://nospor.pl/notice-wyswietlac-czy-nie.html No to nie dopowiedziałeś i można było bardzo łatwo to źle zrozumieć. Trzeba było od razu dać link do artykułu, bo z tego co napisałeś można zrozumieć, że stosowanie tego jest zawsze złe. -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 178 Pomógł: 49 Dołączył: 16.04.2012 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Cytat No to nie dopowiedziałeś i można było bardzo łatwo to źle zrozumieć. Trzeba było od razu dać link do artykułu, bo z tego co napisałeś można zrozumieć, że stosowanie tego jest zawsze złe. Dobrze, przepraszam. Niepotrzebnie przyjąłem, że każdy zrozumie o co mi chodzi ![]() @Tuminure o właśnie, ludzie często nie wiedzą do czego służą nawiasy oraz co to ważność operatora i często nie kumają czemu 2+3*4 nie jest równe 20 ![]() Oczywiście mówię tu w odniesieniu do mysql i php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Co do errorów to prawda... ale to jest celowe jakby nie patrzeć ;P zapominają o cudzysłowach itp. a potem jak im wyskakuje wiele notice'ów a mogą je ukryć (bo przecież wszystko działa) to sobie je olewają i ukrywają
![]() U mnie w firmie jak raz włączyliśmy na głównym (starym) portalu logowanie do pliku wszystkich błędów z noticami włącznie to przez 30 minut plik z logiem miał 10GB ![]() Ten post edytował Sephirus 14.01.2013, 14:41:14 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Cytat U mnie w firmie jak raz włączyliśmy na głównym (starym) portalu włączyliśmy logowanie do pliku wszystkich błędów z noticami włącznie to przez 30 minut plik z logiem miał 10GB No właśnie, i weź potem w takiej ilości błędów znajdź człowieku jakąś literówkę.... nie ma szans.... i dlatego zawsze od początku trzeba pisać poprawnie. Gdy się tego nie zrobiło to potem już pozostaje jedynie na stałe wyłączenie błędów NOTICE i szukać przez 5 godzin jakis banalnych błędów, które z NOTICE znalazłoby się w dwie sekundy
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.04.2025 - 09:23 |