A recent VB.NET AES File Encryption answer was posted with, mostly, the following text:

I'm enclosing a program I wrote to help you along the way. It is very effective and will encrypt whatever you want. I left notes in it to answer all your questions. At the bottom, you will see an added class to reduce memory usage of the program. It works rather well, (by 8% -10%) Enjoy. Items needed: *3 buttons (Browse) (Encrypt) (Decrypt) *1 TextBox For the project video, see my link:

However, an answer without sufficient justification is not a valid code review.

Does the answer offer sufficient justification?

I'd like to call attention to two things. In the question, the OP asked:

Is this the right way doing AES encryption/decryption nowadays?

Namely does this excerpt offer sufficient justification?

you will see an added class to reduce memory usage of the program. It works rather well, (by 8% -10%)

  • \$\begingroup\$ What's your point by calling attention to the second quote, the one by the asker? \$\endgroup\$
    – Peilonrayz Mod
    Feb 28 at 19:29
  • \$\begingroup\$ I included that second quote to make explicit what the main question asked in the question post was. I was thinking that may influence the discussion but correct me if I am wrong. \$\endgroup\$ Feb 28 at 19:39

2 Answers 2



While it could be improved (e.g. by expanding on the "8% -10%" part - perhaps with evidence) it is more than just a dump of code without an explanation.


I think calling out the OP's question like you have is likely to spur on equivocation. By conflating CR jargon with standard English we can create a false equivalence:

Answers must have sufficient justification.
Not addressing a question isn't any justification.
The answer doesn't have sufficient justification.

Recently, I wrote an answer which pointed to a number of well established answers which say not addressing the OP's concerns are fine. As such, such an argument is incorrect, not because it's fallacious, but because we already have established metas saying the argument is wrong.

One of our Help Center rules, and indeed, one of our core values, is

Do I want the code to be good code?

To that end, any answer that makes the code "better" is fair game. It's just that this OP has declared some preconceived ideas of what is "better", so you would have to work extra hard to convince them to abandon the self-imposed constraints.
-- 200_success, CC BY-SA 3.0, Do we need to strictly follow posed poster requirements when reviewing?

In the specific example, I don't think the answerer has worked extra hard to convince the OP to abandon the self-imposed constraints. As such I think we can quite easily say the answer is not a great answer. But where do we go from here? Have we proved the answer doesn't have sufficient justification?

First, what is 200 trying to say? Is 200 saying something like; "to best help the OP you must convince the OP to your side". Or is 200 saying; "if you don't work extra hard to convince someone with, possibly incorrect, preconceived ideas, your answer will be deleted." I think it's fair to say we'd be putting words in 200's mouth if we go with the second.

An answer being bad or breaking an unrelated meta doesn't mean the answer has insufficient justification.

I've focused quite a bit on what sufficient justification isn't. So lets focus on what it is now-a-days.

It's a tool. One used exclusively on low rep and new users. Not because experienced users never post answers which have insufficient justification. But because the rule just doesn't affect high rep users.

+3 @Peilonrayz My gut feeling tells me it has something to do with the number of points next to your name. I'm not saying it's fair, but it might just be the explanation.
-- Mast, CC BY-SA 4.0, Alternate solution - what counts as an insightful observation?

After picking your low-rep victim you post a comment. The comment must have as much CR jargon as possible, or be as confusing to outsiders as possible. This has the benefit of confusing the low-rep victim. Now the low-rep victim is confused and doesn't know how to fix the issue. Mostly because the victim doesn't even understand what the issue is.

You provided an alternative answer without reviewing the OP's solution
Billal Begueradj, CC BY-SA 4.0, AES File Encryption / Decryption

Since the victim is almost certainly unable to fix the issue, you must immediately flag the answer for moderator intervention. Even if you have 20k you must flag the answer. This will give us a second line of defence, if the victim is somehow able to fix the answer, the victim won't be able to undelete the answer without flagging. Effectively permanently banning the low-rep victim to the shadow realm.

But the most important part of sufficient justification, insightful observation or the n00b d3str0y3r, is Meta doesn't exist. Do not ever link to meta. Not only does this give the victim an avenue to complain and possibly fix the situation, but also an avenue to our rules. What if the victim finds the following rules:

The justification doesn't have to be long, though. "You can shorten your code by using xyz" could be good enough for me, since "Shortened the code by using xyz" could be a commit log message
-- 200_success, CC BY-SA 3.0, Short answers and code-only answers

I think the minimum expectation of an insightful observation with an alternative answer should be to say what parameter(s) it improves - speed, memory consumption, readability / maintainability, reusability, bugs fixed, etc. For speed and memory consumption, ideally it would also say whether the improvement is asymptotic (e.g. \$O(n^2)\$ to \$O(n)\$ in this case) or just an improved constant factor.
Peter Taylor, CC BY-SA 4.0, Alternate solution - what counts as an insightful observation?

Does improving scalability and mentioning the improvement count as sufficient justification?

Why are we this? The user has 1 rep, so clearly no.

  • \$\begingroup\$ CR = Code Review (this site) \$\endgroup\$ Mar 18 at 12:30

You must log in to answer this question.

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