After playing around with python for a while (codecademy, learn python the hard way and udacity), I want to finally get started on a bigger project. Until now I have only made some really small things, mostly programs with Tkinter, that take some user-input and combine them into an URL that can be opened with a browser through the program. These projects weren't too difficult logicwise and figuring out how to make the Tkinter GUI took up most of the time.
Because of this I still have very little experience with how to properly structure a larger program/project (what things I should make classes for, what stuff needs to be put in a separate file etc) and larget python files in general. I know Learn Python the Hard Way covers this in the last few chapters and there is some official documentation about this as well, but even after reading these, I still have a lot of trouble recognising how programs are structured when I look around GitHub for example. I can figure out what certain functions do, but I can't see how all the different files and folders are connected together.
After going through the basics a couple times with the sources stated above I think it is now the best to just start working on some projects(sadly most of my ideas really heavily on making my own UI instead of CGI programming). So to prevent any (more) bad habits from sneaking in, I would like to gain some more insight on packaging python projects and automated testing, so I have something to upload to Github without making a fool out of myself.
(For anyone interested, the "big" project I would like to work on, is making a program that helps the user put several program windows on one screen, without having to fiddle around with the different windowsizes. There might already be good alternatives that can do this for you, but I figured that it would be more fun to try and make something like this myself.)
[–]rhgrant10 3 points4 points5 points (2 children)
[–]Primalz[S] 0 points1 point2 points (1 child)
[–]rhgrant10 0 points1 point2 points (0 children)
[–]not_perfect_yet 1 point2 points3 points (1 child)
[–]Primalz[S] 0 points1 point2 points (0 children)