• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Ron McLeod
  • Jeanne Boyarsky
Sheriffs:
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

How to properly research and prepare before diving into a program

 
Ranch Hand
Posts: 71
3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I often find myself relying on Programming forums such as this one for help on how to approach any given situation. Ex; just before posting this I planned on asking "How to make a flexible text-based grid where the length and width are based on user input". Simply asking such a question may help me now but wont for future problems. How do you prepare yourself to start writing a program? Do you just start and figure it out as you go? What kind of preparation do you take?, and more specific to my original question, if I'm looking for a different approach to a situation, whether it be for flexibility, efficiency, etc.. where should i start in order to find the answer I'm looking for?
 
Sheriff
Posts: 28430
103
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It doesn't often happen recently that I'm writing a completely new program like that. But when it happens, I start by writing a simplified version before adding more features.

So in your example "How to make a flexible text-based grid where the length and width are based on user input" I would start out with "Make a text-based grid" and then add the "user input" part. Even for a small program like that it can be difficult to deal with all of the requirements when you start writing code.
 
Bartender
Posts: 11148
88
Eclipse IDE Firefox Browser MySQL Database VI Editor Java Windows ChatGPT
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Use cases is a good place to start. Gathering a cross-section of scenarios that provide examples on how the system is to be used and its expected behavior.
Keep an eye out for nouns and verbs, they potentially turn into classes and methods.
Keep an eye out for relationships like "is-a" and "has-a" witch potentially turn into inheritance and aggregation or attributes.
 
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
About the only thing I can add to the excellent advice you've been given is to
1. Turn your computer OFF.
2. Write down the problem in English (or your native Language), including any questions you have, or things you don't understand.
3. When coming up with a solution, concentrate on What Not How.

HIH

Winston
reply
    Bookmark Topic Watch Topic
  • New Topic