getify / Functional-Light-JS

Pragmatic, balanced FP in JavaScript. @FLJSBook on twitter.
http://FLJSBook.com
Other
16.64k stars 1.96k forks source link

Development Edit: Chapter 7 #64

Closed bmacdonald-editor closed 7 years ago

bmacdonald-editor commented 7 years ago

Organizationally, this chapter is fine. You make a point that this chapter is something of a digression, but it doesn't seem that way to me. Maybe it's because I'm accustomed to you making a big deal out of closures, but the content seems to fit fine with the chapters before and after. Still, I'll keep an open mind, and if I find a spot later on where it would fit better, I'll say so.

Intro quote: This quote is long enough that you should probably get written permission to use it.

The Same Page section

Although you have good examples of closure and objects here, you aren't explicit about exactly how they're defined, to you. That's important, because the readers might not get there on their own.

Behavior Too section

I think this should be a level-2 heading. "Behavior" in this case is clearly parallel with "State," so the headings should be the same level.

Isomorphic section

I don't think you gain anything by explicitly quoting a blog post that you wrote. Just repeat the content; it's yours, so there's no legal issues there. Include a link to the post for further reading, if you like.

Personal opinion: I've seen the slice() method used throughout to shallow-copy an array. It seems to me that's not particularly intuitive; it sounds like it should be used when you want a subset. I know it's common to define "a copy of the whole thing" as a "subset," and technically it is, but since you're spending so much time on code being clear and readable, I thought I'd mention it.

Summary

I get what you're going for here, and I hate to be "that editor with no sense of humor," but I think a traditional summary might be useful here, given that the concept in this chapter is kind of tricky to wind your head around.