Best practice for large source code projects

D

dhable

I'm developing a web system and based on some patterns I've seen
elsewhere, I made a single file (model.py) to hold all of the
functions and classes that define the model porition of the
application. Hence the code in the controller looks like:

import model

def Display(req,id):
# ....


It works and things make sense to me. Yet, I feel uneasy that my
model.py file is starting to approach 500 lines. What's the best
practice or community opinion on this? Do I keep everything in a single
file or do I start dividing things into separate files?

TIA
 
F

faulkner

several of my programs are thousands of lines long, and i don't think
they're extravagantly large.
i'd say you should use modules the same way you use classes and
functions: to separate code logically.
if it makes sense to think of a group of statements as a function, you
make it a function. if it makes sense to think of a group of functions
as data as a single object, you make a class. if it makes sense to
think of a collection of classes and functions and data as a collective
unit, make a module. and so on for packages.
if it makes sense for a single function to be hundreds or thousands of
lines long, so be it.
follow the modern poet's rule: ignore restrictions that don't make
sense, and follow closely the restrictions you choose.
 
P

Paul Rubin

It works and things make sense to me. Yet, I feel uneasy that my
model.py file is starting to approach 500 lines. What's the best
practice or community opinion on this? Do I keep everything in a single
file or do I start dividing things into separate files?

It varies by project and preference. Working with very large files
can get cumbersome, but having a lot of small files means higher
amounts of editing hassle and more junk to keep track of.

As a personal opinion, I'd say just try to keep your functions small
and understandable, and don't worry about file size until the files
start getting inconvenient to edit. I find 1000-2000 lines is a
reasonable file size.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top