In this question, I posted a complete script. I got four upvotes, but no reviews, even partial ones. I wouldn't assume that my code is perfect (especially since I pointed out some things I don't like about it myself), so I think that the root cause is a bit different. What could lack of answers mean here? Is the code too big to actually be reviewed? Or perhaps it's likely that people feel discouraged from reviewing it because it's not their area of expertise?
The way I interpret the up-votes is:
"I find this worth reviewing. I don't have time myself to post an answer but I hope someone else does."
The reason why you are not getting answers can be any of the following:
- Code is too long (long code does take more time to review, but it is known that long questions can also get answers)
- It is not entirely clear what the code does
- It is not entirely clear how the code does it, or how the code is structured
- The question is not interesting enough for someone to have answered it yet
- The question is not well-structured enough for someone to have answered it yet
- People just don't have time... (this is probably the most common reason)
When asking a question, do whatever you can to make the question interesting and try to make it easily reviewable.
Additionally, while you are waiting for an answer, look around at other related questions posted in the same language, or maybe even try to find other questions that does the same thing (or something similar) but in another language. See if there is anything you can learn from the other questions. And perhaps most importantly: See if there is anything you can review on the other questions.
Here's an example of what I think is a well-structured, interesting question: SudokuSharp Solver with advanced features
An upvote on a question means something like, "this question is suitable for this site": that is, it includes (allegedly) working code written by the poster, and it's (reasonably) clear what the purpose of the code is. It doesn't mean "someone's going to review it right away".
I had a look at your question and decided not to review it because:
It relies on
iwconfigso I'd have to boot a Linux virtual machine to run it.
It requires WireShark, which I'd have to install.
sudo iwconfigwhich seems kind of dangerous to me — I don't fancy letting random code posted on Code Review do that on my system without a lot of checking.
Doing a decent review would require expertise about the details of WiFi networking that I don't have.
All of the reasons you point out could be legitimate.
I am personally not familiar with Python, therefore I tend not to pay too much attention to that tag. I'm not certain how much attention that tag gets (though I am certain we have Python reviewers).
Also, long review requests can sometimes be challenging. We've discussed these on the meta before and concluded that even partial answers should be encouraged. In fact, no one should consider any answer a complete answer, so post your answer no matter how partial it is.
Perhaps those who could review Python have forgotten about this discussion or were unaware. Or perhaps none of the reviewers we have are capable of seeing problems.
Also, you can always post self-answers which may at least inspire some other comments and maybe even other answers. Take a look at my Objective-C and Swift questions. Usually I must self-answer.