On Tuesday, August 23, 2016 at 11:43:49 AM UTC-7, OvermindDL1 wrote: > > On Tuesday, August 23, 2016 at 11:24:22 AM UTC-6, Richard Feldman wrote: >> >> You are on the road to #2, so my macro-level suggestion would be to go >> back to #1. :) >> > > #1 also ends up making utterly *huge* model and message unions though, > with extremely non-reusable parts. :-) >
Regarding re-usable parts, I definitely recommend making things reusable on an as-needed basis. Splitting out a helper function takes about two seconds. ;) As for big models, they are easy to maintain in Elm. *I highly recommend big models!* At work we have 36,000 LoC of production Elm. One of our most complicated pages has a Model with 55 fields in it, and a Msg with 40 type constructors, and it feels *nice to maintain*. A year ago it was a bunch of nested React components and everyone dreaded touching it. Now we make changes to it all the time and it's no big deal. Having that big a Model and that big a Msg sounds like it ought to be painful, but in practice, it's actually great. We don't talk about splitting it up because there's no pain point. I understand the reflex to eagerly split things up, but as counterintuitive as it sounds, I think it's the exact opposite of what leads to a good experience in Elm. :) "If it ain't broke, don't fix it" is a good mantra here. -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.