Pozwolę sobie użyć w tym miejscu takiej metafory czy parafrazy -
Piekło i internet wybrukowane są dobrymi chęciami
nie jestem językoznawcą ani polonistą więc nie wiem czy to parafraza, czy metafora.
Problem w tym, że ucząc się, w tym wypadku programowania, podchodzimy z byt ufnie i brakiem krytycyzmu do źródeł wiedzy, czy to w internecie czy formie pisemnej lub mówionej. Nikt nie jest nieomylny, wszyscy popełniamy błędy, i wwszędzie w tych źródłach zdarzają się błędy.
Jest w internecie kurs programowania C++, w który autor obiecuje, że nie będzie zabierał Państwu więcej czasu, ale mimo tego to właśnie on zrobi z Ciebie, droga koleżanko, drogi kolego programistę. Jest to oczywiste kłamstwo, a nawet dwa.Tylko od Ciebie i tylko Ty możesz zrobić z siebie i z sobą co zechcesz.
Kurs ten zawiera błędy. Czemu więc autor ich nie poprawi? Nie mam pojęcia, ale w końcu to nie przestępstwo, kurs jest darmowy, a porawić, wyedytować lub nagrać na nowo filmik - to wyższa szkoła jazdy zbyt pracochłonna lub nie dostępna dla wszystkich.
Ale, żeby nie zabierać Państwu więcej czasu, przejdę do konkretów.
Kilka najbardziej bulwersujących błędów:
- Ciągłe, bezsensone używanie zmiennych globalnych, bez słowa wyjaśnienia jakie zmienne globalne stwarzają zagrożenie.
- Copy - paste, jak wyżej
- Użycie typu zmiennoprzecinkowego, jako nieograniczonego, rozciągliwego pojemnika, do przechowywania zmiennych liczb typu całkowitego i wyciąganie ich, jak królika z cylindra magika, za pomocą magicznego - niepoprawnego użycia setprecysion
AD 1.
Osobiście
nie mam do nich nic i jeżeli upraszczają program, lub są typu const to ok, ale używanie ich na Spoju niesie za sobą takie niebezpieczeństwo, że uczy nawyku a to dopiero stosowanie ich w dużych programach zaczyna stwarzać olbrzymie problem i kłopoty.
AD 2
Ta metoda - copy-past pozornie przyśpiesza pisanie programu, ale stosowana nieumiejętnie lub bezmyślnie może spowodować wielogodzinne szukanie błędu lub przy skopiowaniu tylko jednego błędu wielokrotne powielenie tego błędu w innych miejscach… Zamiast więc copy-paste lepiej dłużej pisać i zastanawiać się, czy np nie zastąpić, kopiowanych wielokrotnie bloków kodu, wywołaniem jednej funkcji z parametrami [lub zmienną/nymi globalną/nymi.
]
.
.
.
Zablokowałem ten wątek, aby go nie rozwadniać, ale jeżeli masz istotne uwagi, proszę o list na prv, a obiecuję,że uwzględnię poprawkę wraz z nickiem autora.