codewars / content-issues

Higher level issue tracker for the Codewars content.
15 stars 1 forks source link

Deduplicate - needle in a haystack #119

Open hobovsky opened 2 years ago

hobovsky commented 2 years ago
  1. You only need one - Beginner

    • 8 kyu
    • 91% with ~61k completions
    • 2 pending issues
    • 17 languages + 1 pending translation
    • Published Sep 2016, author active (PG1)
  2. Man in the west

    • 8 kyu
    • Needle is predetermined and does not change between tests
    • 91% with ~7.4k completions
    • 2 pending issues
    • 5 languages + 1 pending translation (C++-exclusive)
    • Published Sep 2017, author inactive
  3. Enumerable Magic #3 - Does My List Include This?

    • 8 kyu
    • Title mentions "enumerable" what would suggest a code generic enough to be able to work for anything else than native lists or arrays, but none of languages I checked requires to work with anything else than T[ ].
    • 91% with ~13k completions
    • 1 pending issue
    • 8 languages + 2 pending translations (C, Kotlin, NASM-exclusive)
    • Published Nov 204, author last active May 2022
  4. No Loops 2 - You only need one

    • 8 kyu
    • Title and description mention a restriction on using loops, but tests do not enforce it.
    • 91% with ~9.5k completions
    • 0 pending issues
    • 4 languages, no pending translations (CFML-exclusive)
    • Published Sep 2016, author active (the same author as 1.)

Conclusion

Filling gaps

hobovsky commented 2 years ago

All of the four kata can be solved with the same solution, except 2. which uses the same concept but hardcodes the needle.
Kata 3. promises something but does not really deliver, as in all languages the "enumerable" is just a native array/list. Kata 4. is IMO not really valuable because it enforces no restrictions, and every other kata already contains solutions which can pass it.

I vote to keep only 1. as the most complete. Retire 2., 3., and 4. as close duplicates.

benjaminzwhite commented 2 years ago

I don't think the "novelty" setting of 2 adds anything interesting.

I think 4 is really bad specifically because of stating that you can't use loops when in fact you can - it sends a bad "message" for the site/quality control to new users.

For kata 3 - Looking through kata list, I think the "Enumerable" thing is because the author has a (huge) series originally intended for Ruby and exploring its Enumerable module. The entire series seems to be well done, and many translations to other languages of the various kata. Obviously the naming leads to confusion for non-Ruby users, but deleting this kata specifically would break the series of his approved kata.

Kata 1 is fine, except I don't like the vague title - it leads to unrelated kata being recommended (also lol @ the troll who assessed it 1 kyu before approval).

I vote keep 1 mainly because of large number of translations, but I do think 3 has merit as an "entry point" to a bunch of good 7-8 kyu katas.

monadius commented 2 years ago

Keep 1

ejini6969 commented 2 years ago

Keep 1. 2 & 4 should be retired due to same concept and no restriction on 4

As for 3., if other languages are deleted (Except Ruby), then it can stay, otherwise retirement! (Since initially the series was meant to be Ruby only)

Kacarott commented 2 years ago

I kind of like the "story" element of 2, it is short and to the point, and fun. And at 8kyu I think that having a hard coded needle is nice. Though 1 does have more languages.

So, keep 1 and/or 2. Retire the rest.

akar-0 commented 2 years ago

Keep 1 only.

error256 commented 2 years ago

if other languages are deleted

I don't know if it's worth trying, but it's the oldest of the katas and a part of a series, so if the author is active, I think languages still can be deleted from a kata by the author. It led to data corruption is some cases (but I think it usually went OK) and translations to removed languages can't be reapproved, so this feature is used rarely, but if it's going to be retired otherwise...

Blind4Basics commented 2 years ago

keep 1 only

note: no random tests in 3

EloiseRosen commented 2 years ago

vote for keep 1, retire the rest

KayleighWasTaken commented 2 years ago

Keep 1 and 3 (Ruby only), retire 2 and 4.

If making 3 Ruby only isn't viable then retire it.

fcr-- commented 2 years ago

keep 1 only, retire 2, 3 and 4.

hobovsky commented 2 years ago

I hate kata series. They cause more problems than they're worth. They should be collections :(

hobovsky commented 2 years ago

Kata 3. got outvoted into retirement, and since the series is not numbered anymore, it will not get broken :) A couple of translations needs to be moved into 1.