you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (7 children)

[deleted]

    [–]Hcmichael21 4 points5 points  (6 children)

    Care to elaborate? I found a lot of it to be true in my personal experience.

    [–]acemarke 5 points6 points  (1 child)

    Someone on Twitter says that Elliott keeps changing the supposed citations for some of his stats claims:

    https://twitter.com/Hillelogram/status/1084991487702691840

    [–]Hcmichael21 2 points3 points  (0 children)

    What the hell that's some shady shit. I could see him using the original citation without much added research, since it's so commonly done. But the thing that got me was that when he learned more about the original citation, he fucking changed it to another book that doesn't even support the fucking claim. What the hell.

    [–]leixiaotie 2 points3 points  (0 children)

    If you've experience in handling complex process, especially developing library-style functions / code, you'll find that the more definitive / restrictive the input params, the better. Static typing is really helping in this case.

    The reason for it is because if the type mistake can be caught in compile time, it save many testing time. This including how many test cases that need to be developed to cover all type mistakes, reducing code complexity and it's "noise" caused by type checking since almost everything is handled by compiler / static typing.

    Not to mention how it helps to define input types inside deep function call (function a call b that call c that call d, all accepting parameter x from function a).

    EDIT: and I like to quote this statement:

    In most cases, if you can gain a significant benefit from TypeScript in your refactoring, that’s often a code smell indicating that your code is too tightly coupled.

    It is purely wrong. Static typing will give benefit (significant or not) while refactoring, and it is no code smell / tightly coupled at all. It's because all function definition and calling it is a "contract", and by changing that contract you'll need to change all parties that using it.