Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
Me, on the other hand, I think that separate handling of inputs of the form
"xx-yy aa-bb"
was an interesting twist, and not an annoying edge case. Numbers were an annoying test case, and handling of the hyphenated words was a valid requirement in my opinion.I also liked the theme and humorous aspect of the kata, it was fun.
Having said that, I can also understand low satisfaction of users solving it. I thik the users might be of an opinion that it's "just yet another slice-and-mix string manipulation task", which are really plenty here on Codewars. I would believe that technical aspects were a secondary factor. This should not discourage you though, because there's a couple of places where kata authors can find some help: Codewars docs have some pages related to kata authoring: https://docs.codewars.com/authoring/kata, and Codewars Discord server has
#help-author
,#reviewing
, and#kata-ideas
channels where experienced users are always willing to help.retirement is definitive, unfortunately. It's a "one way" action (some infos here)
'might be because I'm not english native, but I actually don't see any difference between
ass-car
andass-father-in-law
... 'x)intersting vs "move zeros to the end": yeah, sure. Thing is, easy/boring tasks have already been implemented a lot and the community generally don't like new ones to come up nowadays. This only (the fact that the underlying task of your kata is actually a basic string replacement) would have make very unlikely that your kata would have survived the beta phase, even if published without flaws right at the start (well, it would have survived longer for sure, yes. But I doubt it would have reached approval requirements).
random tests: they wouldn't have been judged "good enough" for the following reasons:
if(input.includes('something-') ? ... : ...
=> would have required a better random generator ("something-more random" ;) )Cheers
What does it mean for a kata to be retired? Does it stop being retired if the satisfaction rate goes up? if so how?
It's not that much of an annoying edge-case. The effect is to get a funny word like ass-car. The joke somehow won't work with something like ass-father-in-law (best example I could find unlike something like self-reference). Btw, writing this paragraph felt reaaally weird but I don't have anyone to blame for that except myself.
No offense taken and I really appreciate your feedback, but how is this less interesting than "move zeros to the end" or other arbitrary tasks in other katas? Judging by the new solutions that actually work and the satisfaction rate, I'm assuming most of them are left from when I first published the kata with its many issues.
I added the randmon tests for the word-word word-word pattern. Unless i'm getting something wrong it wasn't that huge.
Thanks again <3
Things are...:
It's the very same about
Ass
=> uppercase letters are never showing up in the random tests.Hint: frankly speaking, keeping any of those edge case will just make more annoying an already rather annoying task (only the story makes it somewhat interesting)
Note: the lower/upper case thing could actually be added very easily without being annoying, to the condition it's properly described and tested.
I just saw the kata is already retired (that's automatic based on the satisfaction rate). I guess you see why, with what I explained above... ':)
Cheers
I think all should be fine now.
Thank you for taking the time to audit my kata.
Wouldn't the line "patterns such as 'word-word word-word' don't have to be modified." in the description suffice in covering this case? Your solution should only modify the input with the pattern
word-ass word
.are you sure? I don't think so (look at my solution)
The input issue is fixed now. Users are explicitly told that the input is going to be a string. That case with 0 is now '0'.
Oh god... I added random cases. Am I doing this wrong? This is my first kata, and I'm kinda freaking out a bit haha 0~0
Fun fact: there are users who got all the way from 8 kyu to 1 dan this way.
I am sorry for not being clear, let me try again:
1026374n
? Or[1,5,3,0]
? Ornull
? Or{name: 'John', age: 42 }
? Orx => x+1
?null
?What I generally want to do is to discourage you from testing with anything else than strings. When non-strings come into picture, a can of worms opens with issues related to specification, requirements, implementation, etc.
This is fine. It's possible that a linked resource disappears, but it's not that much of a problem if the resource is not critical for solving the kata.
Ok. Now I see why you included random tests. My assumption was that nobody would "cheat" that way.
Random tests are needed to reject solutions like this one: https://www.codewars.com/kata/reviews/634836db7b911e0001bcc0c9/groups/634843be010fd50001fdd1e3 .
I am also not sure what you mean by "[random tests] don't really go with the essence of the kata..."?
Thank you for your thorough examination. I really appreciate it. <3
Handling of casing should be explained (why an upper-case letter turns into a lower-case letter?) done.
"output MUST be a string in small letters"
fixed
I didn't mean information regarding how to solve the kata, but I can see how it can be misleading.
Now it simply says:
Is it better? Or should I avoid external links if possible?
There are two inputs with different expected answer?
fixed
Do I have to inlcude random tests? It doesn't really go with the essence of the kata...
assert.deepEqual(xkcd37(0), "0"); - this sucks, why even. "Does not follow the pattern" would arguably still imply that inputs are strings, it does not clearly explain that inputs can be integers or airplanes.
Sorry, can you be a bit more clear? Now it just says the output MUST be a string. And with the examples the the description fixed, I think it's a bit more clear. Should I clearly state that the input might be and integer, float or a string?
Textual representation removed.
Loading more items...