• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jakie są złe praktyki w programowaniu C++?

Object Storage Arubacloud
+3 głosów
1,092 wizyt
pytanie zadane 7 sierpnia 2015 w C i C++ przez kocim Użytkownik (810 p.)
Witam, zanim zdecydowałem się na zakup "Symfoni C++ Standart" Jerzego Grębosza opinii sięgałem w internecie (m.in. na tym forum). Jednym z argumentów przeciwników tejże książki był fakt, że książka jest na tyle stara, że uczy złych praktyk. Moglibyście uświadomić mnie co takiego złego uczy ta książka, a także inne złe praktyki, które zauważacie szczególnie u początkujących? Pozdrawiam

5 odpowiedzi

+4 głosów
odpowiedź 7 sierpnia 2015 przez Dash Nałogowiec (29,650 p.)
Uważam że złym nawykiem jest nieczytelność kodu i siłowe upychanie klas. Znaczy, sam tak ciągle robię, jedna klasa i 20 -30 metod wewnątrz. Takie podejście prędzej czy później doprowadza do totalnego bajzlu.

Odwrotnością jest takie poszatkowanie kodu na klasy, że poszczególne obiekty nie mają dostępu do innych, a powinny itp, itp i trzeba całość przerabiać. Im więcej przerabiania, tym czytelność kodu mniejsza i znowu w pewnym momencie się gubimy.

Nie wiem jak to się odnosi do ogólnych problemów programowania, lecz z tego co widzę to właśnie złe zaprojektowanie kodu sprawia najwięcej problemów zarówno mi, jak i innym początkującym których kody było mi niestety dane oglądać. Nawiasem mógłbym dodać jeszcze nie używanie referencji przy wywoływaniu funkcji, używanie "goto", void main() czy  brak formatowania/komentowania kodu.
komentarz 8 sierpnia 2015 przez krecik1334 Maniak (58,390 p.)
Komentowanie to akrat z reguły zła praktyka.
komentarz 8 sierpnia 2015 przez Dash Nałogowiec (29,650 p.)
Oczywiście, trochę zagmatwanie napisałem :).
+1 głos
odpowiedź 7 sierpnia 2015 przez adrian17 Ekspert (346,840 p.)

Rzuciłem okiem na spis treści:

  • nie widzę ani jednej wspominki o std::vector - to wystarczy by ocenić ją bardzo nisko.
  • bardzo głupia kolejność - to w zasadzie dość dogłębne omówienie każdej cechy języka, co doprowadzi do szybkiego znużenia i słabej wydajności uczenia (wnikanie w proces rezolucji przeładowanych funkcji przed std::string i strukturami i nawet wejściem/wyjściem? Wat?).
  • wspominanie o register
  • nazywanie if'a "instrukcją"

Tl;dr: w 2000 była akceptowalna bo to było tuż po standardyzacji C++a i polscy informatycy sami dopiero się go uczyli, ale dzisiaj nie jest nic warta.

komentarz 8 sierpnia 2015 przez niezalogowany
Przyłączam się do dyskusji, bo o vectorach i innych pojemnikach z STL jest całe 600 stron ,,Pasji C++". Może jest trochę stara, ale dalej jara i najlepsz jeśli chodzi o naukę C++. ,,Symfonia C++" to jest czysty C++, a Pasja to biblioteka STL, więc jest tego więcej niż w jakiejkolwiek innej książce :/ I bardzo mi się nie podoba twoja odpowiedź, jest niestety niezbyt zgodna z prawdą.
komentarz 8 sierpnia 2015 przez kocim Użytkownik (810 p.)
Akurat mnie osobiscie podoba sie kolejnosc poznawania języka, ponad to nie o to pytałem :)
komentarz 8 sierpnia 2015 przez adrian17 Ekspert (346,840 p.)

Tyle, że to jest cała osobna książka. Gdyby czytelnik zabrał się do pisania programów dopiero po dokładnym przeczytaniu obu, byłoby fajnie - ale w praktyce tak nigdy nie jest. To mocno wiąże się z tym co mówiłem o kolejności - autor chce żeby czytelnik przeszedł przez ponad 1000 stron przeładowywania operatorów, klas abstrakcyjnych etc będąc przekonanym że idiomatycznym sposobem tworzenia tablic dynamicznych (czegoś, co przyda się znacznie częściej niż przeładowywanie operatorów) jest "new int[x]". Dokładnie tak powstają złe praktyki. 

komentarz 8 sierpnia 2015 przez niezalogowany
W wielu miejscach autor daje X (krzyżyk, iksa) i pisze, że nie trzeba tego czytać za pierwszym razem, że to nie będzie na pewno potrzebne w pierwszych momentach nawet poważnego programowania. A z resztą lepiej coś mieć i tego nie potrzebować, niż nie mieć i potrzebować :/

A jak ktoś wie, że chce się porządnie czegoś nauczyć, że chce profesjonalnie (no, na bardzo dobrym poziomie) programować, to zada sobie troszkę więcej trudu i znajdzie ,,Pasję C++" i kupi ją, żeby ją przeczytać, a następnie stworzyć jakiś wielki, porządnie zaprojektowany program.
komentarz 8 sierpnia 2015 przez Dash Nałogowiec (29,650 p.)
Książki  Grębosza dla mnie osobiście były słabe. Wbrew powszechnej opinii mało co z nich zrozumiałem oraz gubiłem w całym tym natłoku. Dużo bardziej przypadła mi do gustu "Thinking in c++", jednak z całym szacunkiem, trochę głupio jest komentować że ksiązka jest niekompletna bez patrzenia na jej drugi tom. Gdyby wszystko ująć w jedno wydanie to znowu byłoby narzekanie o niekompleksowe omówienie zagadnień. No i sam autor zaznacza że jego książki należy przeczytać więcej niż raz.
0 głosów
odpowiedź 7 sierpnia 2015 przez Boshi VIP (100,240 p.)
A przeciwnicy na jakim byli poziomie? seniora dev c++ czy totalnymi laikami albo przebrneli przez jeden kurs i wiedzą co to jest zmienna ?  bo przeważnie większość tych opini piszą tacy debile.
komentarz 7 sierpnia 2015 przez kocim Użytkownik (810 p.)
Nie patrzyłem na to z tej strony :) Dlatego im bardziej zagłebiam się w książce to tym bardziej nurtuje mnie o co chodzi tym ludziom! :)
0 głosów
odpowiedź 8 sierpnia 2015 przez niezalogowany
Ja ci ją polecam jak najbardziej, szczególnie ,,Symfonia C++ Standard" wydanie 3b rozszerzone i poprawione, bo to jest najnowsze wydanie, z roku 2010, więc jest o standardzie C++11 (C++0x), czyli powszechnie używany standard C++.

Nie wiem jakich złych nawyków książka uczy (no, zauważyłem tylko, że nazwy klas są tam pisane z małej litery, ale autor nic nie wspominał o wielkości litery w nazwach klas, więc też złych nawyków nie uczy ;)), mnie się bardzo podoba, posiada w sobie wiele rzeczy i nie wiem co jest złego w wspominaniu o przydomku register, jak pisze adrian17 :/

Ja ci osobiście książkę bardzo polecam, bo przeczytałem cała, jak na razie tylko raz, ale i tak muszę jeszcze sobie kupić "ciąg dalszy" książki, czyli ,,Pasję C++", w której jest ponad 600 o STL, czyli Standard Template Library, później też się dowiesz co to jest ;)

Pozdrawiam i życzę miłej lektury!
komentarz 8 sierpnia 2015 przez kocim Użytkownik (810 p.)
Tak tak, mam to najnowsze wydanie :) Dzięki za dodanie odrobiny motywacji poprzez troche tajemniczosci, Tobie też jej życze :) Takze pozdrawiam :)
–1 głos
odpowiedź 8 sierpnia 2015 przez SlinkPunisher Nowicjusz (220 p.)
Osobiście polecam megatutorial "Od zera do gier kodera" jest to darmowy kurs napisany przez Karola Kuczmarskiego(Xion), bardzo przyjemnie się czyta co jest naprawdę wielką zaletą. Sam zaczynałem się uczyć od "Symfonii C++" ale gdy znalazłem ww tutorial od razu zrezygnowałem z Symfonii. Książka jest dobra ale autor pisze mało zachęcająco co jest jej minusem.

O to link miłej lektury :-)

http://www.cs.put.poznan.pl/arybarczyk/Kurs%20C++.pdf

Oraz podaję stronę autora
http://xion.org.pl
komentarz 8 sierpnia 2015 przez Boshi VIP (100,240 p.)
Ty chyba jeszcze mało książek do programowanie czytałeś... albo żadnej skoro uważasz, żę symfonia jest pisana mało zachęcająco dla laika.  Weź sobie http://helion.pl/ksiazki/php-obiekty-wzorce-narzedzia-wydanie-iv-matt-zandstra,phpob4.htm tą książkę i wtedy oceń...

Podobne pytania

–1 głos
0 odpowiedzi 152 wizyt
pytanie zadane 11 października 2017 w Rozwój zawodowy, nauka, praca przez letojani Nowicjusz (120 p.)
+1 głos
5 odpowiedzi 437 wizyt
pytanie zadane 15 października 2015 w Offtop przez niezalogowany
+6 głosów
8 odpowiedzi 781 wizyt
pytanie zadane 19 kwietnia 2015 w Offtop przez Ehlert Ekspert (213,130 p.)

92,757 zapytań

141,679 odpowiedzi

320,429 komentarzy

62,101 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...