Ad
  • Custom User Avatar

    You're earing me, but you don't listen.

    Yes, and you are talking but not explaining. We found each other.

    You predefined all my answers; it is pointless to answer.
    But I am curious what do you see in this array with your profound vision and honesty?

  • Custom User Avatar

    I don't feed the users with floats or require floats as a return, so they are not forced to use floats.
    I addded some tolerance to the validation method, according to the guide you mentioned.

  • Custom User Avatar

    We only care about a task being meaningful and well described.

    Don't you think something like the word "meaningful" as a requirement for a Kata is a little bit vague and subjective?

    They are faster than decimals already, and will avoid any precision problem.

    Seems like fractions are slower than decimals.
    Or am I missing something?

    test1 = [3.6, 3.6, 3.6, 3.6, 3.6]
    test2 = [Decimal('3.6'), Decimal('3.6'), Decimal('3.6'), Decimal('3.6'), Decimal('3.6')]
    test3 = [Fraction('3.6'), Fraction('3.6'), Fraction('3.6'), Fraction('3.6'), Fraction('3.6')]
    test4 = [Fraction(18,5), Fraction(18,5), Fraction(18,5), Fraction(18,5), Fraction(18,5)]
    
    def average(numbers):
        return sum(numbers) / len(numbers)
    
    %timeit average(test1)
    %timeit average(test2)
    %timeit average(test3)
    %timeit average(test4)
    
    636 ns ± 18.2 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
    1.76 µs ± 34.6 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
    31.1 µs ± 1.01 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
    32.9 µs ± 3.57 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
    

    Somebody has to do this job.

    You're assuming here that, somewhere in the code, there are still strings and/or floats.

    To create a Decimal, you have to put something in it. Creation is that job.
    I can feed the user's function with integers, but he will have to create a Fraction with them, or something else.
    The creation of a Decimal or a Fraction is computing already.
    Somebody has to do it, Kata's or the user's side. Which way leads to that "good practice" sign?

    You can just provide/store/use anything you want.

    Can I? Something just went wrong. :)

    Oh btw, that is the underlying technical trap we're talking about.

    Could you give an example?
    I don't see that underlying technical trap for this Kata with using strings and integers as input.

  • Custom User Avatar

    Thanks, I missed the separations, sorry about that, corrected.

    Ok, this explanation is much better.
    Are we talking about the code implementation time issue?
    For me, it is either you (Kata) putting the fuel in the saw and giving it to me, or you hand me both, and I put it in the saw.
    Somebody has to do this job.
    I think 10 miles walking analogy is not applicable here because we do the same function call in both cases.

    As far as I understand, Decimals are precision variables and therefore occupy more space in memory (String "3.6" and Decimal("3.6") are about two times different). Hence, we won't win any implementation time by using them instead of strings, integers, or floats.
    Users may gain some implementation time on their side if we do the conversion to Decimal on the Kata side, but only in case they decide to use Decimals for this Kata.

    Computing operations with Decimals takes ten times longer than with floats.
    Converting Strings to Decimals takes two times longer than to Floats.
    So, if users can complete the Kata with floats, it would be more time efficient.
    Therefore I don't want to force the users to use Decimals;
    I want to give them raw data and let them decide on how to compute it better.

  • Custom User Avatar

    Why did you resolve this topic?

    What particular issue was not resolved?

    I did, tho. Anyway.

    If you mean the inconsistency topic, then you did not.
    You are just stating the obvious things:
    They are different types, they will be converted to other types, and operations will be done on them.
    With all my respect, it doesn't prove to me that it is not a good practice. What is the problem with it exactly?
    Do you have any materials about it I can read?
    I expected something like this:
    Using these types of variables together is inconsistent in this Kata BECAUSE:
    This will lead to a TypeError if the variables provided by your test are: ...
    OR: there rules about it here ...

    Don't get me wrong; I want to improve the Kata, but if I implement all the suggestions blindly, I won't learn anything and will copy the problem in the future.

  • Custom User Avatar

    Ok, authoring a kata IS HARD, and it looks like I am a horrible Kata maker.
    Your thumb-down sign message was received.
    Apart from that learning point, I can't filter out any particular issues.
    You claimed some points are not showing good practices, but you didn't explain why.
    I can't distinguish one from the other without a tangible reason or an example.

  • Custom User Avatar

    Must the context have a sense for everybody?

    Yes. Otherwise, why create the kata in the first place?

    I'm afraid I have to disagree. It will be boring only to have Katas about banal surroundings. There can always be someone unfamiliar with the topic of a Kata. For example, there are many Katas about nonograms, and I am sure that not everybody knows what they are and must learn about them first if they want to solve the Kata. What with the Katas about Molecules and Atom? Does their content have a sense for everybody? I don't think so.
    Should they not be created in the first place? I don't think so, either.

    Which half?

    the one missing? Just compare the two descriptions and see what you explain there that is missing here

    I don't understand this guessing game. If, from your perspective, there is a necessary part missing in the description, tell me which one. I simply can't switch my vision to yours.

    Why? [types inconsistent]

    some are provided as strings
    some are provided as numbers
    in any case, the user has to convert them

    The first argument is a list of strings; the second is an integer.
    I don't see any inconsistency here.

    Why shouldn't I use strings to represent the numbers in this Kata?

    Because in python, there are builtins that will do a far better job.

    Yes, they are, but why MUST I use them in this Kata?
    Why can't the Strings be used here?

    Then just avoid to push your kata in dangerous corner cases

    Could you give some examples of those corners?

  • Custom User Avatar

    Hi,

    Let's go one by one.

    1. Added description about steps per resolution.
    2. Must the context have a sense for everybody?
    3. Which half?
    4. Why?
    5. Why shouldn't I use strings to represent the numbers in this Kata?
      I don't want to force the users to use Decimals; let them use whatever they want.

    Thank you for the suggestions, but I can't learn from them and fix the issue if there are no details provided.

  • Custom User Avatar

    Understood, thank you.
    I took them out from preloaded.

  • Custom User Avatar
  • Custom User Avatar

    Yeah, it has sense; let's switch to strings for input.
    I also added a requirment for tolerance in description, based on real motors.

  • Custom User Avatar

    No unittest then.

  • Custom User Avatar

    Hi.
    Let them all be floats then.

  • Custom User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Custom User Avatar
  • Loading more items...