Open hobovsky opened 1 year ago
I have no idea which kata to keep. Kata 1. is the most generic task, remaining kata are its special cases of some form. Kata 3. and 4. seem to be the closest to each other and 4. has more languages, so at least kata 3. could be retired, but I am not sure about the rest. Each of the kata has also its own set of problems. Each of them has some translations which are highly flawed:
now()
, which is a bad practice, etc.Whichever kata is chosen to stay, it will require some fixing.
All ideas how to handle this set are welcome.
One possible idea: retire all, redo from scratch. But then we'd have to decide what the task would exactly be.
Just based on numbers, the 4th one seems better the first is the most generic
Reasons to keep
Reasons to retire:
--LFM
My vote:
Heyho author of the 4th kata here :) I agree with your suggestion, it would be good to unify them into one complete kata. The kata I created was one of the first I did and there is definitely room for improvement. Unfortunately I don't have the time right now to fix listed issues in multiple languages, but maybe I can find some time for at least the C# and JS translation.
I like 2 the most. One big advantage of 2 is that it can be easily solved without date/time standard functions. I also don't see any issues with 2 (I fixed a COBOL leap year issue).
I dislike 4 the most: The rounding requirement is not properly defined (rounding with respect to minutes, seconds, milliseconds, or something else), not properly tested in some languages (C# at least), and it is not correct in other languages (C: the reference solution truncates the result, Java: the reference solution performs an integer division before rounding). These issues can be fixed but I don't think that this kata is better than 3.
So my vote is to keep 1 or 3 and 2. Among 1 and 3 I would prefer 3 because its rank is 7 kyu and it has more completions and languages.
Vote to keep 1, retire the others
From #39
Count the number of days between two dates
year1
,month1
,day1
,year2
,month2
,day2
. Result can be positive or negative.Day of the Year
[d, m, y]
. Lower bound is implicit, calculate which day in year is the given date.Age in days
year
,month
,day
. Calculate days between given date in the past and today.Count the days!