Drodzy programiści, przed opublikowaniem swojego kodu sprawdźcie czy działa poprawnie!

Normalnie szlag mnie trafia, kiedy potrzebuję szybko coś napisać odnajduje potrzebny kod w internecie zapisuje go, uruchamiam i wielkie zdziwienie… Na ekranie komputera pojawia się cała litania błędów!

Fot: Scott Beale, Flickr | CC.

Fot: Scott Beale, Flickr | CC.

Pewnie nie tylko ja spotkałem się z tego typu problemem ale bardzo wiele osób, Ci z was którzy wiedzą o czym mówię na pewno zdają sobie sprawę z tego jak jest to denerwujące. Co prawda błędy w oprogramowaniu były są i będą, ale kod który publikuje się w sieci na przykład w formie tutorialu powinien być przetestowany i sprawdzony w szczególności pod kontem wszelkich „niedoróbek” oraz literówek. Co więcej na większości stron (o ile nie na wszystkich) dostępny jest system komentarzy gdzie internauci na bieżąco zgłaszają błędy dotyczące danego fragmentu kodu. Pół biedy jeśli autor potraktuje te informacje całkiem serio i wprowadzi poprawki, ale czasami niektórzy po napisaniu jakiegoś programu czy skryptu uparcie twierdzą że działa on poprawnie kiedy w rzeczywistości w każdej linijce znajduje się jakieś niedociągnięcie.

Ostatnio pracowałem nad systemem logowania, zakładania nowego konta oraz odzyskiwania hasła dla WordPressa bezpośredno z poziomu dowolnego szablonu, a nie formularza umożliwiającego dostęp do panelu administracyjnego. Po przetestowaniu wielu rozwiązań oraz kilku wtyczek (między innymi tak zachwalanej Theme My Login) doszedłem do wniosku,  że najłatwiej będzie napisać własny szablon strony, który będzie miał wbudowany skrypt i formularz do logowania, odzyskiwania hasła i zakładania nowego konta. Chcąc oczywiście oszczędzić czas postanowiłem poszukać w Internecie jakieś gotowe skrypty, co zaowocowało odnalezieniem bardzo ciekawego tutorialu: www.tutorialstag.com/create-custom-wordpress-registration-page.html (formularz rejestracji), www.tutorialstag.com/custom-wordpress-login-without-using-a-plugin.html (formularz logowania) oraz www.tutorialstag.com/wordpress-custom-password-reset-page-template.html (formularz odzyskiwania hasła). Wydawać by się mogło, że teraz kwestią jest tylko skopiowanie całego kodu, przetłumaczenie komentarzy oraz komunikatów wyświetlanych końcowemu użytkownikowi i po sprawie. Nic bardziej mylnego! Po uruchomieniu owych skryptów na ekranie komputera pojawia się cała litania błędów! Nie wierzycie? To sami sprawdźcie…

Odnalezienie ich wszystkich zajęło mi aż tydzień czasu (oczywiście nie pracowałem nad tym codziennie)! Co więcej potem musiałem jeszcze wyrzucić wszelkie skrypty JavaScript, a cały kod przerobić tak, aby działał tylko i wyłącznie przy użyciu PHP. Nie wyobrażam sobie, bowiem żeby już na starcie ktoś z wyłączoną obsługą języka JavaScript miał poważnie problemy z zalogowaniem się lub założeniem nowego konta. Co prawda w dzisiejszych czasach bardzo mało osób wyłącza obsługę skryptów w swojej przeglądarce, ale zawsze należy pamiętać, że nigdy nie można w 100% polegać na technologii która działa po stronie klienta. Dlatego też każdy formularz WWW powinno się walidować zarówno w czasie rzeczywistym (po stronie klienta – JavaScript) jak i po przesłaniu na serwer (PHP).

Wyciągając wnioski z tej sytuacji mam nadzieję, że żaden programista, który przeczyta ten tekst przed wrzuceniem kodu jakiegokolwiek programu do sieci sprawdzi najpierw jego działanie przed opublikowaniem pod kontem najróżniejszych błędów, a zwłaszcza literówek. Sam zresztą wiem jaka to ciążka praca poprawiać cudze programy. Można by rzec, że jest to syzyfowe zajęcie, ale za to pozwalające nabrać niebywałej wprawy w pisaniu przeróżnych aplikacji, należy jednak pamiętać, że w tym przypadku nie o to chodzi..

Poprawiony i przetłumaczony kod wspomnianych wyżej trzech tutoriali oczywiście opublikuję na łamach niniejszego portalu. Mam nadzieję, że dzięki temu zaoszczędzę komuś kilku godzin albo i nawet dni ciężkiej pracy.

, , , , , , , ,