What questions can I ask about here?
Code Review is a question and answer site for seeking peer review of your code. We are working together to improve the skills of programmers worldwide by taking working code and making it better.
If you have a working piece of code from your project and are looking for open-ended feedback in the following areas:
- Application of best practices and design pattern usage
- Potential security issues
- Correctness in unanticipated cases
… then you are in the right place!
If you can answer "yes" to all of the following questions, then your question is on-topic for Code Review:
Is code included directly in my question?
It is fine to post supplementary code on a third-party site, but the most important parts of the code must be embedded directly in the question.
Am I an author or maintainer of the code?
For licensing, moral, and procedural reasons, we cannot review code written by other programmers. We expect you, as the author, to understand why the code is written the way that it is.
Is it actual code from a project rather than pseudo-code or hypothetical code?
Details matter! In order to give good advice, we need to see real, concrete code, and understand the context in which the code is used. Generic code (such as code containing placeholders like
doSomething()) leaves too much to the imagination.
To the best of my knowledge, does the code work as intended?
Code Review aims to help improve working code. If you are trying to figure out why your program crashes or produces a wrong result, ask on Stack Overflow instead. Code Review is also not the place to ask for implementing new features.
Questions about improving scalability are allowable, as long as your code works for small inputs.
Do I want the code to be good code?
It's OK to ask for help to optimize code to run in a resource-constrained environment. However, asking about code-golfing, obfuscation, or similar is off-topic.
Do I want feedback about any or all facets of the code?
Feel free to call attention to specific areas you are concerned about (performance, formatting, etc). However, any aspect of the code posted is fair game for feedback and criticism.
Other important information:
- Examples of questions to avoid asking
- After you receive answers, do not revise or incorporate new code into your question.