-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Which common checks should be running on every solutions? #13
Comments
Awesome list! Just in case you didn't know, we support different types of analyzer comments (see the docs):
With these different types, one can have some comments be more like suggestions, whereas others are considered (soft-)blocking.
Indeed. What you could do though is to have this be an Looking at the above list, here are some thoughts:
Is this something
I think I'd not implement this rule. Many students won't understand what this means I think. While it is good to know about cognitive complexity, I'm not sure this provides much benefit for the average student.
There are probably some rules that are fairly well-known and that could be of use to the student.
I wouldn't implement this. Documentation quality is not really about language fluency (improving that is our goal at exercism) I feel.
I agree that this could be useful for some harder or some performance-oriented exercises (e.g.
According to your comment, you'd want to comment if you find a comment that starts with
What does this mean? |
Thank you for the comment! You're right, comment types provide an extra nuance that we could certainly use. For common checks like these though, I'm thinking there shouldn't be any
No,
You're right, the average student wouldn't get it. I was thinking that maybe we could use it just for some harder exercises, but I'm not too sure...
Yes, I think so too, although some in that package may not be that well known...
Yes, you're probably right.
Good idea!
Yes, we have this one in the Elixir track. Another example for using this package (but not relevant to us) is to find empty markdown tickboxes
It pushes users to always use the same import aliases ( I'll edit my initial list from your feedback. |
Ah. I'm not opposed to it, just curious. |
Just a thought: maybe there could be a mechanism for suppressing common checks for some specific exercises, like the simpler concept exercises. |
Analyzer checks can be very useful for learning exercises, when you want to guide the student towards a recommended solution, but they can also be very useful for teaching about idiomatic code, community standards and that sort of things, across all exercises.
Here, I would like to discuss which checks would be worth implementing, and which checks would be too preachy. For example, the use of
camelCase
is so prevalent in Elm, that any other style should be commented on. On the other hand, you wouldn't want to ban<|
even though|>
is the preferred standard.The standard analyzer tool in Elm is
elm-review
and people are encouraged to shared their rules as packages, so I searched for those and came up with this list. I already removed some that are too domain specific for Exercism (ports, JSON, HTML...) or too strict (forbid type alias constructors, banalways
...) or some duplicates.I don't know yet how these would get implemented, I just want to talk about which kind of checks we would like. For now, all of these are my opinion, I look forward to discussions to narrow the options down or add new ideas.
Legend: ✅ yes, 🚫 no, ❓ maybe, 🔍 investigate further.
not True
-->False
[Added in #29 ]-- TODO
commentsNoSimpleLetBody
)()
)elm-format
elm-review --fix
NoInconsistentAliases
not relevant,NoModuleOnExposedNames
maybeNoExposingEverything
...) some no (NoMissingTypeAnnotationInLetIn
...)nth-prime
,palindrome-products
)elm/regex
is available++
::
The text was updated successfully, but these errors were encountered: