Re:Simplify Your Code: Functional Core, Imperative Shell
by Twisol on Tuesday October 28, 2025 @02:43PM
(#45737002)
Everything "potentially leads" to adverse outcomes if not applied with due care and cognizance. That includes KISS and YAGNI. If you're looking for a principle you can apply in 100% of cases without consideration of context, I'm afraid you'll need to shop elsewhere.
Re:Simplify Your Code: Functional Core, Imperative Shell
by netdevphoenix on Friday October 31, 2025 @05:52AM
(#45770160)
> if not applied with due care and cognizance
That's the gotcha though. Everything applied with due care and cognizance works. This is not what is being discussed here. What the author suggests does lead to overengineering though. Think of stereotypical enterprise Java code if you need examples
Re:Simplify Your Code: Functional Core, Imperative Shell
by gf000 on Tuesday October 28, 2025 @05:43PM
(#45739625)
The context was "business", that kind of application is developed quite differently than, say, a cool little hobby terminal emulator or whatever.
Even though the business currently doesn't have a need to e.g. support any other currency than USD and EUR, an experienced developer will clearly see that it is unlikely to stay that way for long, so doing some preliminary preparation for generalizing currencies may well worth the time.
Re:Simplify Your Code: Functional Core, Imperative Shell
by netdevphoenix on Friday October 31, 2025 @05:51AM
(#45770151)
>Even though the business currently doesn't have a need to e.g. support any other currency than USD and EUR
Your regular business requirements are way more complex than just a currency list. This is like trying to justify your point using an oversimplified example imo.
This violates KISS and YAGNI and potentially leads to overengineering code and excessive abstraction