-
-
Notifications
You must be signed in to change notification settings - Fork 13
Tweak statuses #53
Comments
That'd make sense to be if "approve" had a parameter for "is_optimal" or something similar. |
We'll lose the ability to branch logic later; even though approve_with_comment can be determined by looking at... comment_count > 0. (Think about filtering, or statistics, etc. They all become harder without the distinct statuses) |
@yawpitch Does it need it? Or can we just leave comments blank. The website won't do anything different depending on whether it's optimal or not. @SleeplessByte Are they distinct statuses though? Or are they just statuses we've invented for the convenience of being able to roll one thing out before the other? |
The comment being blank isn’t quite enough, since the comment is currently optional with approve_as_optimal, mandatory with approve_with_comment. I can see plenty of situations in which an optimal solution might benefit from a comment, but still be optimal. Plus I could see plenty of benefit of trolling these retroactively for stats. Also, side note, but are we encoding anywhere what version of the analyzer approved / didn’t approve? |
The problem is that the definition of I'm just not convinced that there's a real different between optimal and not-optimal in any useful way. At least, I can't think of one.
No. See #47 |
That definition contradicts the Guidelines:
As for the difference, it’s mainly statistical. Plenty of things will get approved that are far from optimal, knowing how many meet the optimal threshold (and especially how many get there after how many rounds) would potentially be very helpful. Like on Python for Re #47, that conversation seems to have stalled without consensus; seems to me storing the version number is going to be quite important in the long run. If we all simply standardize on semver in the analysis.json it should be sufficient. |
At some point I plan to add the random tips we have in We will then not be able to determine If we want to have statistics on If we don't need them for statistics, we can combine them in |
Then it is not optimal in my mind :) Personally, I think merging the two makes sense, as it maps most fundamentally to what is actually happening on the website. The distinction between approve as optimal and approve with comment will only be useful for us, maintainers I feel. As my currently C# analyzer conforms to
I can't think of one either. |
In Python both of the following are optimal: def two_fer(name="you"):
return "One for {}, one for me.".format(name)
def two_fer(name="you"):
return f"One for {name}, one for me." The first uses str.format and the comment might be to consider the use of f-strings as shown in the second. The second uses f-strintgs, but the comment might be to be wary of using them for any string that might need to be internationalized, since they're eagerly-evaluated. Both are entirely optimal; in both cases the student benefits from a comment.
That's not obviously an argument against maintaining the distinction, since it does hold potential real benefit for the mentors / maintainers. I'm fine with merging the two |
Another sample from Go where a
This is a perfect solution for |
There's a few different conversations here I think:
I'm talking about merging the statuses once
Yes, this is the same as Ruby, and so both would get a
I love this, but I wouldn't want it to come via analyzers - I'd want us to implement another system for this that looked at which tips students had, and recommended accordingly. So I don't think this comes into this discussion
Yes. But I defined the guidelines and am suggesting redefining the guidelines :)
I think this is the key. We don't need statistics because as you both demonstrate with your examples, optimal solutions can have comments. The reason we split these into two categories was so that we could implements one set of things (approving) without having to implement the other (comments). Now we're also adding comments, I don't see a value in keeping both. I don't see a situation where it's valuable for us to put everything into two buckets of "This felt optimal" and "This didn't". If we're looking at statistics etc then I'd have thought we can use the granularity of "which comments were given?" to work out the optimalness of the solution, without having a specific status for it? |
I think one of the arguments to keep the two statusses is if we want to keep the interface as is but display Does that make sense?
Well, if we keep them, we probably want to change On the other hand, we can change the spec and output format to have |
That's a nice way of saying this @SleeplessByte. I like the idea of seperating out tips (but let's not do it yet! - babysteps :)) |
In that case, merging is fine. I can't think of a reason not to merge. |
@iHiD, @SleeplessByte: agree with removing the separation. Makes my code simpler 😄 |
Same here :) I'm also in favor. |
Follows exercism#53
exercism/automated-analysis#53 Merge "approve_as_optimal" and "approve_with_comment" into a single status "approve", and rename the "disapprove_with_comment" status to "disapprove".
exercism/automated-analysis#53 Merge "approve_as_optimal" and "approve_with_comment" into a single status "approve", and rename the "disapprove_with_comment" status to "disapprove".
- Per exercism/automated-analysis#53, Merge "approve_as_optimal" and "approve_with_comment" into a single status "approve", and rename the "disapprove_with_comment" status to "disapprove". - Switch to template output by default (changing the run flag from templates to noTemplates). - Change `--noTemplates` output to use `%{tag}` for tagged template variables, instead of `%<tag>s`. - Add `--pretty` output to pretty print the generated output, off by default. - Add linting
We're soon to add approve_with_comment to the website. Once we do that I don't see much point in having the two different approve statuses. I suggest we refactor to
approve
anddisapprove
. Thoughts?The text was updated successfully, but these errors were encountered: