# CUPID—for joyful coding

**URL:** <https://forum.devtalk.com/t/cupid-for-joyful-coding/41068>\
**Category:** In The News\
**Tags:** coding\
**Created:** [17 February 2022 13:12 UTC](https://forum.devtalk.com/t/cupid-for-joyful-coding/41068 "2022-02-17T13:12:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![CommunityNews](https://forum.devtalk.com/user_avatar/forum.devtalk.com/communitynews/32/1113_2.png) [@CommunityNews](https://forum.devtalk.com/u/CommunityNews)\
**Post date:** [17 February 2022 13:12 UTC](https://forum.devtalk.com/t/cupid-for-joyful-coding/41068/1 "2022-02-17T13:12:17Z")

</div>

> CUPID—for joyful coding.  
> What started as lighthearted iconoclasm, poking at the bear of SOLID, has developed into something more concrete and tangible. If I do not think the SOLID principles are useful these days, then what would I replace them with? Can any set of principles hold for all software? What do we even mean by principles?

Read in full here:

> **[CUPID—for joyful coding](https://dannorth.net/2022/02/10/cupid-for-joyful-coding/)**
>
> What started as lighthearted iconoclasm, poking at the bear of SOLID, has developed into something more concrete and tangible. If I do not think the SOLID principles are useful these days, then what would I replace them with? Can any set of...

_This thread was posted by one of our members via one of our news source trackers._

---

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.devtalk.com/user_avatar/forum.devtalk.com/astonj/32/7_2.png) [@AstonJ](https://forum.devtalk.com/u/AstonJ)\
**Post date:** [19 February 2022 15:26 UTC](https://forum.devtalk.com/t/cupid-for-joyful-coding/41068/3 "2022-02-19T15:26:39Z")

</div>

I immediately jumped to and agree with the part on Domain-based structure:

> We still need artefacts like models, views, and controllers, whichever way we lay out the code, but grouping them by [MVC] type should not form the primary structure. Instead, the top level of the codebase should show the primary use cases of hospital management; maybe `patient_history`, `appointments`, `staffing`, and `compliance`.
> 
> Taking a domain-based approach to the code structure makes it easy to understand what the code is there for, and easy to navigate to wherever you need to be for anything more complicated than “make that button light blue”.

---

<div class="post-metadata">

**Author:** ![brennan](https://forum.devtalk.com/user_avatar/forum.devtalk.com/brennan/32/6725_2.png) [@brennan](https://forum.devtalk.com/u/brennan)\
**Post date:** [20 February 2022 14:05 UTC](https://forum.devtalk.com/t/cupid-for-joyful-coding/41068/4 "2022-02-20T14:05:33Z")

</div>

Also mentions “Domain-based boundaries”. Probably similar to DDD, but without going into the tactical design patterns.
