Comment Micro-language¶
Rational¶
What’s the point in yet another auto comments?
I frequently forget to install the auto comments script, leaving me without any auto comments.
There is no way to merge comments with the auto comments script. This means that we either need to write greetings anyway or have two or more versions of each script for greetings alone. This means greetings will just be dropped as typing goes against the point of having auto comments.
Now if we take into account that there can be multiple problems with a single question, then making a mixture of auto comments becomes unmaintainable.
Personally I find some of the current auto comments to be very specific. Whilst this is great when we have to deal with that one solution, it makes the auto comments somewhat nonsensical in other situations.
Say we had an auto comment that had a greeting prepend to it, would it make sense to use that with a 10k user? Would you edit it out?
All of these made me drop auto comments for long periods of time. And I feel I’m posting more helpful content because it’s keeping things to the problem(s) at hand. Not hiding any and not adding unneeded information.
However this has a couple of major problems.
I am lazy. Whilst I know there’s a page that will really help the user and I should add it to my comment, I don’t. This means at times I am outputting unhelpful comments.
I make mistakes. Sometimes I miss a crucial part of a comment. Contrast “please don’t post many similar questions” vs “please don’t post many similar questions in short time periods”. This can cause there to be confusion and is again unhelpful.
Whilst this is good for me there are some problems with my approach.
You may not have Python installed, or have the Python-foo to install this project.
You may not like a CLI only program, I have to open a terminal? No thanks.
You may not like my comment choices, and you don’t know how to change them.
You want simple auto comments, you don’t want to have to type short hand for your comments.
You don’t know the short hand or names I have used.
Syntax¶
The syntax is really basic, and looks a lot like a list literal from Python or JavaScript. However the outermost ‘list’ doesn’t have the square brackets. However it does not build lists it builds a dictionary, the keys are on the left hand side of the brackets and the keys of the child mapping are on the inside of the brackets. All keys surrounding whitespace stripped.
Welcome[John Doe],
VTC[
Broken[
Quote[this does not work],
Asking[to fix this],
],
Inline,
],
Scope[Title]
Contrast to if we were to use JSON:
{
"Welcome": {"John Doe": {}},
"VTC": {
"Broken": {
"Quote": {"this does not work": {}},
"Asking": {"to fix this": {}}
},
"Inline": {}
},
"Scope": {"Title": {}}
}
There are only 4 characters that are recognized:
Opening brackets,
[. These denote the start of a mapping.Closing brackets,
]. These denote the end of a mapping.A comma,
,. These are used to split two keys where the first doesn’t have any values.A backslash,
\. This is to escape the next character.
It should be noted that this means that commas are entirely optional following closing brackets.
Namespaces¶
From here the keys map to keys in a namespace. For example Welcome means points to the global Welcome which will take the entered name and return the welcome greeting.
The VTC however causes the inner dictionary to be passed to the VTC namespace.
Each namespace accepts multiple keys for the same function.
This means you can use the long form Welcome[John Doe] or the short form W[John Doe].
The keys on namespaces are also case insensitive and ignore spaces, this means Vote to Close is the same as votetoclose.
This is a key to make skim reading easier:
- 🔗
Contains a link to a relevant page.
- 📜
Changes the output of the text.
- 📚
Indicates that it points to a namespace.
- 🚩
Produce an error
Global¶
The global namespace contains:
@AtWill strip spaces in the name.
- 🚩 Empty
There is no point in using Core.@ without a name.
- 📜 Else
@{value}
HHi- 🚩 Empty
There is no point in using Core.Hi without a name.
- 📜 Else
Hi {value}.
- 📜
WWelcome - Empty
Welcome to Code Review.
- Else
Welcome to Code Review {value}.
- 📜
VTCVote To CloseCClose - 🔗 Empty
Unfortunately your question is currently off-topic. Once you have fixed the issues with your post we’ll be happy to review your code.
- 📚 Else
Enter close reasons namespace.
Unfortunately your question is currently off-topic. {messages} Once you have fixed the issues with your post we’ll be happy to review your code.
- 📚
SPSite Policy Enter site policy namespace.
- 📚
SOStack Overflow Enter Stack Overflow namespace.
Close Reasons¶
- 🔗 📜
BrokenCNWAICode Not Working As Intended We only review code that works as intended.
- 📜 📚 Not Empty
Since {messages} we can see the code is not working correctly.
- 📜
QQuote you’ve said {values}
- 📜
TTalkTalking you’re talking about {values}
- 📜
AAskAsking you’re asking us {values}
- 📜
- 🔗 📜
ContextMRCMissing Review Context The code you have posted is missing context to be reasonably reviewed.
- 🔗 📜
CNICode Not Implemented You are asking about code that has not been implemented.
- 🔗 📜
BPBest Practice Generic best practice questions cannot be reasonably answered.
- 🔗 📜
AoMAuthor or Maintainer We only review code from an author or maintainer of the code.
- 🔗 📜
MDMissing Description Questions must include a description of what the code does.
- 📜
DRDesign Review Design questions, like any other question, must include code.
- 🔗 📜
EoCExplanation of Code We do not explain how code works.
- 🔗 📜
IInline The code to be reviewed must be inline in the question.
- 📜
Golf Golfing is the dark side of the force.
Site Policy¶
- 🔗 📜
TTitle Titles should only consist of a description of your code.
- 🔗 📜
IOInsightful Observation Answers must make at least one insightful observation, and must explain why the change is better than the OP’s code.
- 🔗 📜
AIAnswer Invalidation Please do not update the code in your question to incorporate feedback from answers, doing so goes against the Question + Answer style of Code Review. This is not a forum where you should keep the most updated version in your question. Please see what you may and may not do after receiving answers.
Stack Overflow¶
- 🚩
FPFalse Positive False positives don’t generate messages
- 🔗 📜
CCloseClosed Don’t use the existence of Code Review as a reason to close a question. Evaluate the question and use a reason like; needs focus, primarily opinion-based, etc.
- 📜
RRecommendation - Empty
This question would be off-topic on Code Review.
- 📚 Else
Enter Stack Overflow close votes namespace.
This question would be off-topic on Code Review as it {messages}.
- 🔗 📜 📚
WWording In the future please {messages} when recommending Code Review. Take, “This may be on-topic on Code Review. Please check if it is on-topic and how to post a good question before posting there.”
- 📜
DDoubtful use doubtful wording
- 📜
LLink link to the help center
- 📜
- 🔗 📜
IInsight Please familiarize yourself with what is on-topic and our guide to Code Review for Stack Overflow users.
Stack Overflow Close Reasons¶
- 📜
BrokenCNWAICode Not Working As Intended does not work as intended
- 📜
ContextMRCMissing Review Context is missing context
- 📜
CNICode Not Implemented is asking us to implement code
- 📜
BPBest Practice is asking about generic best practices
- 📜
AoMAuthor or Maintainer is not the OP’s code
- 📜
MDMissing Description is lacking an explanation of the code
- 📜
DRDesign Review is asking for a review of design not code
- 📜
EoCExplanation of Code is asking us to explain the code
- 📜
IInline does not have the code in the question
- 📜
Golf is asking about golfing