Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6711823
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T08:11:12+00:00 2026-05-26T08:11:12+00:00

How do you usually go about when you need to design a module? Till

  • 0

How do you usually go about when you need to design a module? Till now I’ve taken care of how easy it is to use, how intuitive its API is, extendibility, performance and stuff like that.

But what seems fairly simple and straight-forward to me might seem over-complicated for other users. Although it doesn’t happen that often, it does happen sometimes to all of us (I hope).

Are there any questions that you should ask yourself before designing a class hierarchy/API/whatever before you proceed with coding, other than the issues I already mentioned?

If you believe the question is better suited for a different section on SO please feel free to migrate it, but I’d still like an answer.

Cheers.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T08:11:13+00:00Added an answer on May 26, 2026 at 8:11 am

    Your question is a very good one, and one that has answers, but so complicated that the answer is basically the experience in programming.

    There are general principles to make software, but I think that here, in this short answer, I can give you one concept that you can apply. Software is a representation of a domain (such as a bank software is made to tailor the financial system, or a radar software is made to tailor the ideas and principles of radar detection). Software, therefore, is like a theory: it fits the current knowledge of your domain perfectly, allows inferences and extensions. If more knowledge becomes available, the theory should be extended, polished or made more general to accommodate this new knowledge, while still remaining valid for the previous knowledge.

    Hence, all the concepts about theories apply:

    • satisfy the requirements imposed by your knowledge in a unified framework that sounds homogeneous and well integrated.
    • be simple, but look for patterns that you may make more general, and spotlight these patterns for better integration.
    • don’t be too simple. If your software does not fit the requirements, your theory is too limited and must be extended.
    • allow your software to accommodate new requirements, software is not cast in stone. it mutates and evolves, accommodating the new requirements, or losing functionalities that are no longer needed.

    So, software should be minimalistic but not too much, beautiful but practical.

    When it comes to put into practice these directions, I suggest you to allow time for learning your domain. You can’t model something that you don’t understand. Learn the basics, and start from something simple, then progressively refine them. You will occasionally see that some things “feel” in the wrong place. Ask yourself questions such as

    • “who is responsible to do this operation?”
    • “Is this dependency logical and needed for this object to work, or is it just a spurious one due to bad code organization?”
    • “Is this high-level or low-level functionality?”
    • “Am I repeating this ?”
    • “can I change this object/layer/subsystem internally without the code outside knowing ?”
    • “can I extend this in the future without ruining or invalidating the past ?”
    • “can I test and probe this functionality easily for correct behavior ?”
    • “Is it easy and intuitive to understand and use ?”
    • “can I recombine what I already have easily and without touching to implement new behavior?”
    • “Is this functionality isolated so that I can show it to the outside world without the bulk of the rest of the code I manipulate ?”
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

When I am unsure about some thing for a project, I usually use a
I need some resources that talk about how to design your software to be
When the Java developers make design decisions, they usually follow 'best practices' about code
I need to use a spatial 2d map for my application. The map usually
How do you usually go about separating your codebase and associated unit tests ?
When I study about cloud-computing, I usually see these terms: on-premise, off-premise applications. I
I have read this post about how to test private methods. I usually do
I would like to read a little more about the + that is usually
My application server needs to notify users about some events via email. Usually there
Usually when I need to fork in C, I do something like this: pid_t

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.