2 Replies - 300 Views - Last Post: 26 June 2015 - 07:13 PM Rate Topic: -----

#1 Chrisebell24  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 26-June 15

Starting New Project Give a Newbie Some Advice

Posted 26 June 2015 - 03:04 PM

Hello fellow coders,

I'm pretty new to Python and am looking to develop a large scale project that focuses on training user about a complicated topic (think many math examples like calculus transformations, etc...)

I want this program to have multiple features:
1) User log in to track progress
2) ability to show graphs and charts and charts moving with different equations
3) take user input
4) Use multiple different modules of code to organize my project better

So I tried this project before and I was writing it with Tkinter and had a massive module with all my code in there. When I came back to the project I realized that this was a mess.

Any advice on how I can organize, how I can organize multiple areas of code, what I should develop it in, etc..

Also, I want to include learning videos in this as well if that matters

Is This A Good Question/Topic? 0
  • +

Replies To: Starting New Project Give a Newbie Some Advice

#2 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4674
  • View blog
  • Posts: 12,777
  • Joined: 18-April 07

Re: Starting New Project Give a Newbie Some Advice

Posted 26 June 2015 - 03:50 PM

Well it sounds like your only problem was that you had spaghetti code and put everything in a massive module. Break it up, little modules designed to be self contained and focused on doing one thing and doing it well is the best way to go. I recommend books along the lines of "Clean Code" and "Code Complete 2" which are not really so much language based, but are great for learning the proper way to "DESIGN" great programs. Organization of code is the key to large projects.

As for what you could develop it in, Python and Tkinter are fine choices. Just make sure you follow the good design software development principles and you should be ok. Python will handle all those features you listed and more. It is a great language.

:)

Edit: By the way, we also talk about other topics along this line in the Software development forum here on DIC. There you might find some more resources and discussions about organizing and developing good design practices.

This post has been edited by Martyr2: 26 June 2015 - 03:51 PM

Was This Post Helpful? 2
  • +
  • -

#3 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 8582
  • View blog
  • Posts: 14,827
  • Joined: 19-March 11

Re: Starting New Project Give a Newbie Some Advice

Posted 26 June 2015 - 07:13 PM

View PostChrisebell24, on 26 June 2015 - 05:04 PM, said:

I want this program to have multiple features:


Starting off well. Breaking down the things you want into separate pieces is a great habit to get into.

Quote

1) User log in to track progress


This is a pretty well-understood shorthand for a lot of moving parts. You might want to think about what sorts of moving parts you need just to get this one in place.

Quote

2) ability to show graphs and charts and charts moving with different equations


Typically you'd find a library to help you with this part. You might want to evaluate some graphing libraries and see how they work and how well you like working with them. If you feel like writing the graphing logic is something that's important to you, get a library anyway. It'll serve as a placeholder for the code you're going to write, while you develop other parts of the thing. This will help you develop the program in a more structured way, as a side benefit.

Quote

3) take user input


This certainly needs to be worked out in more depth. You probably have an idea of what you mean here. You want to express that concretely, so that you can really start to understand what you're getting into here.

Quote

4) Use multiple different modules of code to organize my project better


This is technically not a feature, it's a design choice - but it's a good design choice.

This post has been edited by Lemur: 26 June 2015 - 07:46 PM
Reason for edit:: you left a close quote tag on the end

Was This Post Helpful? 0
  • +
  • -

Page 1 of 1