Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Community feedback: What type of questions can I ask here?
There is a new page What type of questions can I ask here? (found under Help -> Guidance.) I'll quote it as whole below, for convenience.
Please give feedback on specific items in the list that you agree or don't agree with and post a proposed change, so that the community can vote agree/disagree with your answer. This includes change of wording etc. If something is missing that you feel should be added to either on-topic or off-topic, please propose that too.
In order to label something "community consensus", we should preferably have a strong majority for/against. (Voting on this particular question here is kind of meaningless, please vote on answers.)
One item at a time please! Don't hesitate to post several answers.
What type of questions can I ask here?
Software Development Codidact is for software developers, people who like writing code. We tend to consider that the best questions include some source code, but some without might also fit.
To better understand what is on-topic and what is offtopic, please read the following sections.
On-topic
- questions about software design, software architecture, or modeling
- questions related to software design/review - what item goes where when using a certain technology stack
- questions about the software development process and project cycles specific to software engineering (requirements, design, testing, etc)
- questions about best practices as long as enough detail is provided to answer using external references or expertise consensus
- questions related to software life cycle management, including build configurations, version control, release, and deployment.
- questions dealing with how to write software documentation
- questions about SQL programming
Off-topic
- questions asking for implementing a certain feature (or homework). You should include your (partially working) trials in the post asking to explain what a certain code does.
- questions about computers or software that are not connected to software development/engineering
- questions about the system, network, or server administration
- questions about embedded systems programming (microcontroller programming, hardware description languages, RTOS questions, PLC programming). Please use Electrical Codidact instead.
- questions about which tools, frameworks, or technologies to use, unless they are directly related to development (e.g. code, schema changes documentation tools)
- asking about project management of software projects
- asking about software licensing
- questions containing errors caused by typographical errors, as it is very unlikely to be useful in the future
- questions about database administration
It is important that your question contains enough information that another person can use to help you. After writing the post, please take a couple of moments to review it.
> questions about best practices as long as enough detail is provided to answer using external references or expertise c …
4y ago
> questions about software design, software architecture, or modeling > questions related to software design/review - w …
4y ago
I propose adding, at the top of the list: > On-topic > questions about writing software, where software is understo …
4y ago
> questions about the system, network, or server administration Which system? I think it is clearer without "the": …
4y ago
> Off-topic > questions about which tools, frameworks, or technologies to use, unless they are directly related to dev …
4y ago
I propose that the following is added: > On-topic > > - questions asking for code review that follow [the site poli …
4y ago
> On-topic > > - questions about SQL programming > > ... > > Off-topic > > - questions about database admini …
4y ago
I propose that we add the following: > Off-topic > - Questions about code golf, programming puzzles and challenges. …
3y ago
> questions asking for implementing a certain feature (or homework). You should include your (partially working) trials …
4y ago
> On-topic > > - questions dealing with how to write software documentation I propose that a note about tool use is …
4y ago
I propose that the following is added as off-topic: Off-topic - Questions with artificial requirements and no prac …
4y ago
Overall feedback: > To better understand what is on-topic and what is offtopic, please read the following sections. …
4y ago
>On-topic > > - questions about best practices as long as enough detail is provided to answer using external reference …
4y ago
> questions dealing with how to write software documentation This seems overly broad. I mean this would include Mark …
4y ago
> questions about which tools, frameworks, or technologies to use, unless they are directly related to development (e.g …
4y ago
15 answers
Overall feedback:
To better understand what is on-topic and what is offtopic, please read the following sections.
followed by a total of 16 bullet points ... folks, no first time visitor will carefully read through 16 bullet points to get a sense of whether they are allowed to ask their question.
I think we either need to prune these lists, or provide a summary here and move the detailed rules elsewhere.
Also, the rationale behind these rules is not currently explained. I think we should change that, because in my experience, people are more willing to follow rules whose purpose they understand than rules that seem arbitrary. Giving a rationale could also help clarify the intended meaning of a rule in case of ambiguity.
Might it be better to have a separate Meta post for every rule, and link to these canonical posts from the FAQ? Then people could look at the discussion that prompted the rule.
questions about best practices as long as enough detail is provided to answer using external references or expertise consensus
It's not a "detail" if it is essential, is it? Can we explicitly state which information is required?
And why must references be "external"?
What about:
questions about best practices if they objectively define what they mean by "best"
I propose adding, at the top of the list:
On-topic
- questions about writing software, where software is understood to include any means of specifying to a computer actions to be performed later. (This includes general-purpose programming languages as well as, for example, SQL, shell scripts, and spreadsheets.)
This can replace, if it hasn't already been removed by another proposal,
On-topic
- questions about SQL programming
- questions about software design, software architecture, or modeling
- questions related to software design/review - what item goes where when using a certain technology stack
These seem redundant? And I have no clue what "what item goes where when using a certain technology stack" is supposed to mean?
Why not simply write:
- questions about software design, architecture, or modeling
- questions about the system, network, or server administration
Which system?
I think it is clearer without "the":
- questions about system, network, or server administration
Off-topic
- questions about which tools, frameworks, or technologies to use, unless they are directly related to development (e.g. code, schema changes documentation tools)
I propose removing this entirely, as I believe it is adequately covered by the existing
Off-topic
- questions about computers or software that are not connected to software development/engineering
On-topic
- questions about SQL programming
...
Off-topic
- questions about database administration
I propose that these two are changed to clarify that we allow questions about database design and questions regarding the use of specific DBMS (MySQL, Oracle etc):
On-topic
- questions about database design or how to interact with a specific DBMS, for the purpose of database design, programming or access through SQL.
Database administration is a bit of a fuzzy term so I propose that it gets removed completely. Maintaining a database server is obviously off-topic and covered by server administration being off-topic. But maintaining the data/tables themselves could be either on- or off-topic, from case to case.
I propose that the following is added:
On-topic
- questions asking for code review that follow [the site policies for the code review category].
Where [the site policies for code reviews] is a link to a separate help page:
When posting a code review, please post it under the specific code review category. These questions have specific rules different from the main Q&A.
- The question must contain the complete copy+paste of the whole code, with no modifications.
- All code must be compiled and tested, with no known bugs. No hypothetical-/pseudo code.
- The poster should be the author of the code and describe what it does as part of the question.
- Optionally, add specific requests that reviews should focus on.
- Please provide as much information as possible about which compiler and system the code was tested on.
This category now exists as per 20/10. Detailed discussion here: Should we have a Code Review Section / category?. There is currently a strong community consensus in favour of making code review on-topic, and preferably as a category of its own.
On-topic
- questions dealing with how to write software documentation
I propose that a note about tool use is added:
On-topic
- questions dealing with how to write software documentation or how to use tools for that purpose
The intention is to clarify that things like Doxygen or Javadoc are on-topic.
- questions asking for implementing a certain feature (or homework). You should include your (partially working) trials in the post asking to explain what a certain code does.
A great many questions ask for help implementing a feature. That's not the problem. The problem is help-vampires, so I'd favor:
- questions asked not to learn, but to off-load work
I propose that the following is added as off-topic:
Off-topic
- Questions with artificial requirements and no practical use, including code golf and code obfuscation. This also covers artificial homework requirements that "ban" the use of certain common language features when writing the program.
There is a proposal for a separate code golf site here.
It would also make me happy if we could make questions such as "how to do division without the / operator" off-topic. These are common and unhelpful both for the OP and future readers. The site should focus on how to write high quality code using best practices.
Note: the intention is not to ban "language-lawyer" types of questions (though such will need a language-lawyer tag). These questions are meaningful when understanding programming languages in-depth, and also for those writing compilers, parsers or standard libraries etc.
0 comment threads
On-topic
- questions about best practices as long as enough detail is provided to answer using external references or expertise consensus
I propose that this should be re-phrased:
On-topic
- non-subjective questions about best practices with a well-defined "best" criteria, where the question can be answered through external references or expertise consensus rather than opinions.
questions dealing with how to write software documentation
This seems overly broad. I mean this would include Mark Bakers entire book, but technical writing has an established codidact community, hasn't it?
Suggest to remove this from the list.
- questions about which tools, frameworks, or technologies to use, unless they are directly related to development (e.g. code, schema changes documentation tools)
Don't understand. Frameworks or technologies are always related to development, aren't they?
Also, the double negative (in don't ... unless) is hard to parse.
Instead, I'd add the following to on-topic:
questions about development tools
1 comment thread