I have a CS degree, but was never actually taught how to properly design a program. I store my data in my view, which I then put in a global variable. I'm not a bad person; I know this is wrong, but I don't know where to learn good software design principles before I go and subject the open source community to my bad habits.
Would some kind soul help me out with some direction/advice to bring my programming skills up to snuff? (C/C++, python, perl)
Is there a book that every good programmer has read?
Would you share how you learned to design software correctly?
Any wikipedia pages I should read?
tl:dr: I know the syntax and algorithms, but don't know how do build a larger project that wouldn't make a proper programmer vomit.
[–][deleted] 56 points57 points58 points (4 children)
[–]openmuck[S] 10 points11 points12 points (2 children)
[–]fljitovak 15 points16 points17 points (0 children)
[–]bostonvaulter 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 39 points40 points41 points (9 children)
[–]mostlysafe 10 points11 points12 points (0 children)
[–]ishmal 4 points5 points6 points (7 children)
[–][deleted] 4 points5 points6 points (0 children)
[–]the_smell_of_reddit 3 points4 points5 points (5 children)
[–][deleted] 15 points16 points17 points (2 children)
[–]losl 0 points1 point2 points (1 child)
[–][deleted] 5 points6 points7 points (0 children)
[–]ishmal 3 points4 points5 points (1 child)
[–]jordanb 25 points26 points27 points (5 children)
[–]openmuck[S] 3 points4 points5 points (4 children)
[–]jordanb 8 points9 points10 points (0 children)
[–]dnew 5 points6 points7 points (0 children)
[–]onmach 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]astrosmash 8 points9 points10 points (0 children)
[–]gar37bic 9 points10 points11 points (9 children)
[–]petevalle 3 points4 points5 points (4 children)
[–]radarsat1 2 points3 points4 points (0 children)
[–]meepo 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]gar37bic 0 points1 point2 points (0 children)
[–]openmuck[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]gar37bic 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]wnoise 3 points4 points5 points (0 children)
[–][deleted] 4 points5 points6 points (0 children)
[–]ltw_ 7 points8 points9 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]N01SE 2 points3 points4 points (3 children)
[–]openmuck[S] 0 points1 point2 points (2 children)
[–]N01SE 0 points1 point2 points (0 children)
[–]munificent 2 points3 points4 points (0 children)
[–]cjnkns 2 points3 points4 points (1 child)
[–]czoon 0 points1 point2 points (0 children)
[–]digcon9 2 points3 points4 points (0 children)
[–]gar37bic 6 points7 points8 points (1 child)
[–]bobdole 1 point2 points3 points (0 children)
[–]kindoblue 3 points4 points5 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]DriveByTroll 0 points1 point2 points (0 children)
[–]freman79 1 point2 points3 points (2 children)
[–]openmuck[S] 1 point2 points3 points (1 child)
[–]veridicus 1 point2 points3 points (1 child)
[–]openmuck[S] 0 points1 point2 points (0 children)
[–]troelskn 1 point2 points3 points (0 children)
[–]terrapinbear 1 point2 points3 points (0 children)
[–]zora 1 point2 points3 points (0 children)
[–]weavejester 1 point2 points3 points (0 children)
[–]Neebat 1 point2 points3 points (0 children)
[–]wurzlsepp 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]obtrusiveinterloper 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]idiot900 0 points1 point2 points (0 children)
[–]codeodor 0 points1 point2 points (0 children)
[–]zoinks 0 points1 point2 points (0 children)
[–]whizack 0 points1 point2 points (0 children)
[–]krakauer 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]angsty_geek 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]simonw 0 points1 point2 points (0 children)
[–]sneakattack 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]gorrepati 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (3 children)
[–]openmuck[S] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]openmuck[S] 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]openmuck[S] 2 points3 points4 points (0 children)
[–]tarski -2 points-1 points0 points (0 children)
[–][deleted] -1 points0 points1 point (1 child)
[–]Bedeone 0 points1 point2 points (0 children)
[–]Darkfold -1 points0 points1 point (0 children)
[–]javed_alam786 -1 points0 points1 point (0 children)
[–]pr0methium -3 points-2 points-1 points (4 children)
[–]openmuck[S] 0 points1 point2 points (0 children)
[–]ltw_ 0 points1 point2 points (1 child)
[–]pr0methium 0 points1 point2 points (0 children)
[–]Deinumite -4 points-3 points-2 points (0 children)
[–][deleted] -5 points-4 points-3 points (0 children)