GithubHelp home page GithubHelp logo

Comments (3)

getify avatar getify commented on June 19, 2024 1

Appreciate you bringing it up.

If the book was still in draft or even recently published, I might have added a phrase/sentence to the text. But since the book was published more than 3 years ago, I think it's probably not an important enough change to warrant issuing a correction.

Cheers!

from you-dont-know-js.

getify avatar getify commented on June 19, 2024

I don't think this is an issue that we will fix. Here's why: the real problem here is not the logic suggested in the solution, but that the setup of the problem is somewhat under-specified (it relies on what I think are reasonable, but non-explicit, assumptions).

IOW, there is an assumption that the function is only used with inputs that stay within the same day. The solution doesn't handle validation for inputs outside of that range.

I assumed from the setup that it would be clear that we're only using timestamps on a same day, and that the duration of the meeting cannot go past the end of the day. Furthermore, the wording in the text says "...if the meeting falls entirely within the work day." If a meeting falls within a work-day (in the traditional definition thereof), it definitely has to fall within a regular 24-hr day (ending before midnight). I made no mention of handling "work days" that span midnight, or any of a variety of different complexities.

Staying within a single 24-hr day would be the only way that sorting with 24-hr timestamps would be possible/reliable. I was deliberately designing this to restrict the "domain" of the problem to make it simpler.

So if I were going to fix anything, I might have added some sentence to the setup text for the problem earlier in the appendix, which indicated that the function can expect inputs within the relevant range for the day and that it did not need to cover any other sorts of inputs.

In my mind, this is the same kind of assumption as not allowing/handling negative values for meeting duration (there's no such thing as a meeting with negative duration). The code doesn't make any attempt to validate that because it's an assumed pre-condition. Similarly, there's an assumed pre-condition that start+duration won't go past midnight. I maybe should have said that explicitly, but I assumed it would be obvious enough.

from you-dont-know-js.

ericghara avatar ericghara commented on June 19, 2024

Thanks, I appreciate your reply. It's ultimately a judgement call and I wanted to bring it to your attention.

from you-dont-know-js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.