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.
Post History
The question How to efficiently remove every occurrence of one string inside another and discussions in the comments there got me thinking about the best way to ask about algorithmic problems. In p...
#2: Post edited
The question [How to efficiently remove every occurrence of one string inside another](https://software.codidact.com/posts/285218) and discussions in the comments got me thinking about the best way to ask about algorithmic problems. In particular, which pitfalls should be avoided to not make the question too broad.- Some issues I see:
- What requirements should be stated? Is it okay to just ask for any algorithm that solves the problem in any or should typical input data ranges be specified and if speed or memory or other optimization criteria exist.- Should an implementation language or set of languages be specified? Or is pseudo-code also okay? If no implementation language or set of languages is specified, there could potentially be a lot of answers.- Do we care about duplicating external content (like [Rosetta code](http://rosettacode.org/wiki/Rosetta_Code) for example)? Most often needed algorithms are likely already described or implemented somewhere.- - Is the full implementation of algorithms feasible within the Q&A format? The description might just become too long (better suited for other content types like longer articles maybe). Where to draw the line between an algorithm that still can be described and one that cannot anymore?
- How would a high quality on-topic question about an algorithmic problem look like?
- The question [How to efficiently remove every occurrence of one string inside another](https://software.codidact.com/posts/285218) and discussions in the comments there got me thinking about the best way to ask about algorithmic problems. In particular, which pitfalls should be avoided to not make the question off-topic?
- Some issues I see:
- - What requirements should be stated? Is it okay to just ask for any algorithm that solves the problem in any way or should typical input data properties be specified and if speed or memory or other optimization criteria exist.
- - Should an implementation language or set of languages be specified? Or is pseudo-code also okay? If no implementation language or set of languages is specified, there could potentially be a lot of answers in many different languages and voting on them might not make much sense.
- - Do we care about duplicating external content (like [Rosetta code](http://rosettacode.org/wiki/Rosetta_Code) for example)? The most often needed algorithms are likely already described or implemented somewhere else.
- - Is the full implementation of algorithms feasible within the Q&A format? The description might just become too long (better suited for other content types like longer articles maybe). Where to draw the line between an algorithm that still can be described and one that cannot anymore?
- How would a high quality on-topic question about an algorithmic problem look like?
#1: Initial revision
How to best ask about algorithmic problems
The question [How to efficiently remove every occurrence of one string inside another](https://software.codidact.com/posts/285218) and discussions in the comments got me thinking about the best way to ask about algorithmic problems. In particular, which pitfalls should be avoided to not make the question too broad. Some issues I see: - What requirements should be stated? Is it okay to just ask for any algorithm that solves the problem in any or should typical input data ranges be specified and if speed or memory or other optimization criteria exist. - Should an implementation language or set of languages be specified? Or is pseudo-code also okay? If no implementation language or set of languages is specified, there could potentially be a lot of answers. - Do we care about duplicating external content (like [Rosetta code](http://rosettacode.org/wiki/Rosetta_Code) for example)? Most often needed algorithms are likely already described or implemented somewhere. - Is the full implementation of algorithms feasible within the Q&A format? The description might just become too long (better suited for other content types like longer articles maybe). Where to draw the line between an algorithm that still can be described and one that cannot anymore? How would a high quality on-topic question about an algorithmic problem look like?