Skip to content
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

Deduplicate - needle in a haystack #119

Open
2 of 8 tasks
hobovsky opened this issue Aug 14, 2022 · 13 comments
Open
2 of 8 tasks

Deduplicate - needle in a haystack #119

hobovsky opened this issue Aug 14, 2022 · 13 comments
Labels
discussion/deduplicate Discussion and vote what to do with duplicate kata

Comments

@hobovsky
Copy link
Contributor

hobovsky commented Aug 14, 2022

  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)
  1. 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
  1. 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
  1. 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

  • Move C approved translation from 3. to 1.
  • Move Kotlin approved translation from 3. to 1.
  • Move NASM approved translation from 3. to 1.
  • Move CFML approved translation from 4. to 1.
  • Move C++ pending translation from 2. to 1.
@hobovsky
Copy link
Contributor Author

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.

@hobovsky hobovsky changed the title Deduplicate - list contains Deduplicate - needle in a haystack Aug 14, 2022
@benjaminzwhite
Copy link

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
Copy link

Keep 1

@ejini6969
Copy link

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
Copy link

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
Copy link

akar-0 commented Aug 15, 2022

Keep 1 only.

@error256
Copy link

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
Copy link

keep 1 only

note: no random tests in 3

@EloiseRosen
Copy link

vote for keep 1, retire the rest

@KayleighWasTaken
Copy link

KayleighWasTaken commented Aug 15, 2022

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

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

@fcr--
Copy link

fcr-- commented Aug 20, 2022

keep 1 only, retire 2, 3 and 4.

@hobovsky
Copy link
Contributor Author

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

@hobovsky
Copy link
Contributor Author

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.

@kazk kazk removed their assignment Nov 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion/deduplicate Discussion and vote what to do with duplicate kata
Projects
Status: Filling gaps
Development

No branches or pull requests