[Tutor] going big (in terms of code base)

Rance Hall ranceh at gmail.com
Mon Nov 14 21:49:28 CET 2011


Ive just finished a major project with python and database
connectivity.  It was cool, and the friend I wrote it for was happy.

It was strictly a terminal based app.  To GUI of any sort.

Because I like to write cross platform apps as much as possible, tools
like python and os common widget sets like tk/tcl are my first choice.

So Ive started studying tkinter (from python 3.x)  I'm pleased with
the flexibility.

So far Ive been a very procedural based coder.  Ive not cared much for
Object Oriented stuff because I didn't learn to think/program that
way.  (think Fortran/Pascal, etc)

GUIs add a lot of code bloat and lots of chances for bugs that have
nothing to do with the logic of your program.

I'm looking for a way to manage large projects (large in terms of code size)

There are lots of new concepts to grasp here: From basic GUI stuff
like event handlers to understanding class layout and what things go
in this class and what things go in that one.

Before proceeding I need to understand how best to break up a large
file into several smaller files and not break anything.

I assume that "import" will be part of the solution but it only
"imports" complete python modules.  Much different than a php include
for short code snippets.

I'm guessing that means I have to learn how to create my own modules
as well.  And then how to manage them.

The hard part I'm struggling with at this point is understanding what
python calls the things I need to understand.

This makes sense in terms of being able to go back and fix something
later and know where it is to find it.

What I would like to do is create a basic app framework that I can
use/reuse on future projects.

What else to I need to know about to make my idea a reality?  In what
order would you suggest I learn these things so I can interconnect
them properly.  For example. OOP before tkinter?

Thanks for your time.

Rance


More information about the Tutor mailing list