Programowanie to jedna z najważniejszych umiejętności we współczesnym świecie, kształtująca nasze doświadczenia z wieloma technologiami, z których codziennie korzystamy.

W idealnym świecie programowanie byłoby prostym procesem, polegającym na kodowaniu, a następnie zastosowaniu utworzonego kodu w celu uzyskania konkretnych rezultatów. Niestety programowanie to bardziej złożony proces, który obejmuje debugowanie mające na celu znalezienie i poprawienie błędów.

W tym artykule przyjrzymy się rodzajom błędów programistycznych popełnianych najczęściej, aby lepiej zrozumieć, w jaki sposób powstają i w jaki sposób można im zapobiec.

Błędy składniowe (syntax errors)

Języki programowania, podobnie jak język polski czy angielski, mają określone zasady gramatyczne. O ile jednak my potrafimy zrozumieć kogoś, kto nie mówi poprawnie gramatycznie, tak komputery nie potrafią poradzić sobie z błędami składniowymi. W wielu przypadkach błąd składniowy uniemożliwi uruchomienie programu.

Podczas gdy błędy składniowe są najczęstszym rodzajem błędów - są one odpowiednikiem literówki w języku pisanym - dobrą wiadomością jest to, że wraz ze wzrostem umiejętności i doświadczenia programisty pojawiają się one rzadziej. Najlepszym sposobem na zapobieganie powstawaniu błędów składniowych jest dokładne sprawdzanie swojego kodu w trakcie pisania, nie dopiero na sam koniec pracy.

Błędy logiczne (logical errors)

Błędy logiczne są niezwykle trudne do wykrycia. Może wydawać się, że program działa, a jednak przypadkowo zaprogramowałeś go błędnie i nie działa on w sposób jaki zaplanowałeś. Przykładem może być sytuacja z końca lat 90. kiedy to przez błąd oprogramowania NASA straciła sondę Mars Observer. Aby uniknąć błędów logicznych, dobrym pomysłem może być przekazanie wyników testów product managerowi lub właścicielowi produktu w celu potwierdzenia poprawności logiki przed zakończeniem pracy nad programem.

Błędy kompilacji (compilation errors)

Gdy język programowania wymaga przeprowadzenia kompilacji, język wysokiego poziomu musi zostać przekształcony na język niskiego poziomu, który będzie łatwiejszy do przetworzenia dla komputera. Gdy komputer nie jest w stanie poprawnie przetworzyć kodu, np. gdy błąd składniowy zakłóca proces kompilacji, wówczas pojawia się błąd kompilacji. Najlepszym sposobem na uniknięcie błędów kompilacji jest wczesne uzyskanie informacji zwrotnej w celu znalezienia problemów kompilacji w trakcie pracy. Stopniowa analiza ułatwi wykrycie błędów kompilacji, dzięki czemu można rozwiązywać problemy w miarę ich pojawiania się.

Błędy czasu wykonania (runtime errors)

Kiedy użytkownik wykonuje program, a kod nie działa zgodnie z oczekiwaniami, pojawia się błąd czasu wykonania. Kod może działać poprawnie na Twoim komputerze, ale serwer WWW lub użytkownik końcowy może mieć inną konfigurację lub współdziałać z innym oprogramowaniem w sposób, który może spowodować błąd czasu wykonania.

Błędy w czasie wykonywania są szczególnie zauważalne, ponieważ mają wpływ na użytkownika końcowego i uniemożliwiają mu wykonanie zadań. Aby wyeliminować błędy czasu wykonania, upewnij się, że masz wdrożony proces raportowania, który poinformuje Cię o wystąpieniu takiego błędu, dzięki czemu będziesz mógł go usunąć, a dodatkowo zdobędziesz wiedzę, która pozwoli Ci zapobiec błędom runtime w przyszłości. Pomocne może być również użycie kodu stworzonego przez społeczność w celu zminimalizowania błędów, ponieważ użytkownicy mogli już napotkać i naprawić te problemy.

Błędy arytmetyczne (arithmetic errors)

Błąd arytmetyczny jest podzbiorem błędów logicznych obejmujących błędy matematyczne. Na przykład nie można podzielić przez zero bez spowodowania problemu. Chociaż człowiek nie próbowałby dzielić przez zero, możesz nie zdawać sobie sprawy, że coś w twoim systemie może mieć rozmiar 0, powodując błąd arytmetyczny podczas uruchamiania programu. Tego typu błędy generują błąd logiczny lub błąd czasu wykonywania, więc posiadanie dobrych testów przewidujących dzielenie przez zero, liczby ujemne itp., jest niezbędne aby zapobiec powstawaniu błędów arytmetycznych.

Błędy są nieuniknione, każdy je popełnia. Nie oznacza to jednak, że kod musi być ich pełen. Najważniejsze jest by uczyć się na własnych błędach i regularnie sprawdzać pisany przez nas kod aby ich uniknąć.


#branzaIT #programming #error #coding

RaiBay - Polish Online Auction for Tech Talents

Follow us: Linkedin, Facebook, Twitter :)

Join us at raibay.com and/or check our choosen job openings https://www.raibay.com/positions