Replies: 4 comments 7 replies
-
My idea would be provide additional area in kata editor, where authors would put their idea of technical requirements for the kata and tests. The field would be similar to description: potentially large, shared across languages, but not visible for users who havent solved the kata (ideally, visible only in kata editor, and kumite view, and kumite editor). When a new language would to be added, reviewers would be responsible for verification whether the translation covers all requirements listed in the snippet. It could also contain some notes on exceptions for some languages which cannot conform to requirements because they differ greatly in paradigms, avaialble libraries, accepted idioms and practices, technical possibilities, etc. Example notes in the snippet could be (just example points, not related one to each other):
Initially I thought that such points could be put in a comment in a kata description, but I think the comments would be still visible in page source, and sometimes could contain spoilers. |
Beta Was this translation helpful? Give feedback.
-
Another idea which would likely help with this a lot is #2382 . More eyes on a translation, and "waiting period" while it collects a couple solves would likely help spot problems in translations a lot more consistently. |
Beta Was this translation helpful? Give feedback.
-
I've been refreshing my SQL recently by doing some kata and this inconsistency is a real problem It's had to find good SQL kata because they don't translate well and instead of practising WHERE, JOIN and GROUP - which is normal for SQL Instead kata focus on things like functions - which are (in my experience) unusual in SQL In fact I think a beginner could pick up some really bad habits https://www.codewars.com/kata/5694cb0ec554589633000036/sql You could make it a different level kata but it's not really a hard problem either - it just uses a relatively obscure piece of functionality. I think some things don't translate and should just be removed |
Beta Was this translation helpful? Give feedback.
-
I like the idea. For super duper convenience, the requirements set out by the author could be translated into a literal checklist available in the translation/fork, where the translation author checks each box to signify to reviewers that this particular aspect of the spec was considered and implemented. On a side note, related to the issue of "translations of translations of the original language": I agree this is a lot like the Telephone Game, where each "copy" gets progressively worse/off spec. Just today I had to look up Python tests to see if a Rust translation was following the same spec. However, I have no way of knowing whether Python was the original language, and might itself be off-spec. A hint on the details page of a kata as to what the original language was might be helpful. |
Beta Was this translation helpful? Give feedback.
-
Quite common problem with translations, affecting mostly kata with many available languages (but not only), is consistency of quality and difficulty across translations: some available languages are curated better than others, have more tests, tighter tests, or the other way round: miss some tests for edge cases or some types of inputs. Sometimes translations differ so much that it's even difficult to tell whether they cover the same problem. Of course, it is not possible to make all languages identical, because of differences in performance, paradigms, etc. but except of performance, there is a lot of other aspects which can be unified: amount of test cases, ranges of inputs, coverage of input scenarios, practices related to description, sample tests, edge cases, etc.
The problem of inconsistencies bothers me for a couple of practical reasons:
Would you have any ideas how to enforce consistency of kata between languages?
Beta Was this translation helpful? Give feedback.
All reactions