I have recently completed my first real software project, including a hopefully user-friendly command line interface, proper packaging and uploading to the Python package repository, license and at least some minimal readme.

I would be happy to get feedback on

(1) the source code -- ~1600 lines never looked at by anyone but me. This concerns adherence to general software engineering principles and best practice of the programming language (e.g. Python Zen), runtime efficiency, separation of CLI and logic, separation into modules and functions, naming, proper packaging, orthodox usage of builtin packages,...

(2) user interaction and the way the program goes about what it wants to do. This concerns the CLI, input syntax, user-friendly storage, subprocess interaction, default values, helpful additional functionality, ...

For (1), I was initially thinking about codereview.se. However, I learned that they want questions about specific parts of code.

For parts of (2), I was initially thinking about ux.se. While there are some questions about CLI there, they also seem to be rather specific.

I would prefer is to post a single open-ended question about how my project could be improved.

Would such a question be suitable for this site?

Since the project is targeted to programmers (computational scientists, to be precise), softwareengineering.se would also be a good place to get feedback on the general usefulness of the project from potential end-users.


to post a single open-ended question about how my project could be improved.

Open-ended questions which ask for broad discussions will be quickly downvoted, closed, and deleted by the community here. This site is not a discussion board, and the community defends this state with all available tools.

Instead, if you can ask a focussed question about one single aspect of your design, that kind of question will have a much better chance to survive and get good answers. However, don't expect anybody here to review your 1600 lines of code. You will have to provide a comprehensive, high-level description of your design. You should also tell us what requirements brought you to pick this design, what issues you see in your current approach, and which alternatives you considered.


None of the stack exchange sites will support open ended questions and even if you got responses before being closed they wouldn't be useful. Our voting system simply isn't effective without objectively answerable questions.

If what you really want is comprehensive treatment of your project you need to break it down into a series of questions about focussed issues that are objectively answerable. This might not seem comprehensive but understand, nothing prevents you from adding links from question to question. In this way you can cover every issue your project has and still get useful and comprehensive results under our format.

Of course, as with any link, this doesn't absolve you of the need to write every question so that it can stand alone. It just allows you to attract an audience that is more familiar with your project.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .