Przez kilka lat pracy przy systemach internetowych odkryłem niebezpieczną, choć zrozumiałą modyfikację zasady “braku zaufania do użytkownika” w stosunku do osób, na których zamówienie system był pisany - jeżeli piszesz program, którym zarządzać będzie Twój klient, np CMS do jego strony internetowej, zakładasz, że nie będzie w jego interesie “zniszczenie” własnego programu. Skupiasz się przede wszystkim na tym, aby internauta wchodzący na stronę Twojego klienta nie mógł uzyskać dostępu do panelu administracyjnego, ani nie spowodował żadnych szkód świadomym lub nieświadomym działaniem. Zaoszczędziłeś pracy, masz zadowolonego klienta, w niedzielę dostajesz SMSa, że “coś nie działa..” - uniknijmy tego aby w niedzielę bez stresu leczyć się po sobotnim wieczorze.
Samo programowanie “z zaufaniem do użytkownika” nie jest problemem samym w sobie, tym bardziej, gdy program ma Tobie usprawnić pracę, np. szybki CMS do własnej strony internetowej. Problemem zaczyna być, gdy przez jakiś czas pisząc w taki sposób nabierasz złych nawyków i migrują one na inne Twoje projekty. Najlepszym rozwiązaniem jest zawczasu wyrobienie własnego, bezpiecznego sposobu programowania. Jestem programistą i wiem, że takie przeskoczenie na inny sposób programowania jest cholernie trudne, wydaje Ci się na początku, że marnujesz czas na “niepotrzebne” ruchy, że rozpraszasz umysł myśleniem o formie, gubisz wątek poprawiając “coś co działa na coś co też działa”. Rozstanie się ze swoimi przyzwyczajeniami jest często tak samo trudne, jak przemyślenie i przeprogramowanie jeszcze raz problemu, który już raz opracowałeś i oprogramowałeś, a okazał się błędny na poziomie projektowania (brrrrrr!!!). Uwierz mi, po jakimś czasie podczas kodowania znów będziesz myślał tylko o algorytmie, Twój stary kod zacznie Cię drażnić a jego poprawianie stanie się odruchem Pawłowa.
Nie da się w jednym poście spisać “dobrych zasad programowania”, gdyż dotyczą one nie tylko samego kodu, ale też odpowiedniego przygotowania środowiska, zależne są od wyboru technologii, serwera baz danych… lista jest tak długa że samo jej opracowanie jest dobrym tematem na książkę. Ponieważ jedynie na programowaniu znam się w stopniu dostatecznym do mądrzenia się na prywatnym blogu, niniejszym postem rozpoczynam serię p.t. “Dobre nawyki programowania w PHP według mnie”.
Pierwszy dobry nawyk - zawsze miej klawiaturę zapasową. Jeżeli jesteś wyjadaczem który w vi na serwerze poprawia kod klasy odpowiedzialnej za przelewy w banku internetowym trzy dni przed wigilią, pewnie nie muszę Ci tłumaczyć po co Ci druga klawiatura. Jeżeli dopiero zaczynasz przygodę z programowaniem, szybko się przekonasz, że posiadanie zapasowej klawiatury to naprawdę dobry nawyk.
Jeżeli masz już drugą klawiaturę, usiądź spokojnie i odpal sobie DivX’a, wyjdź z dziewczyną na spacer, włącz CS’a lub odkręć Starkę. To blog dla programistów, nie dla handlowców / biznesmenów / marketingowców, którym potrzebna jest motywacja z monitora. Pij mniej kawy. Idę.