Closed leemcalilly closed 8 months ago
You'd say unmarried partners aren't considered a family? And wouldn't saying "household" have an even stronger "living situation" implication? Finances could be shared between people who aren't living together (i.e not in the same "household").
I don't know how related personal finances are to other forms of finances.
If it's the case that they're quite similar then you could just extract that functionality down the line and apply it to other forms, like a business for e.g.
I think that the best advise i've seen for stuff like this is to have a Organization
model that owns the resource and could even do something like a OrganizationType
which would have Family
.
I have no idea what the app does but that's immediately what I thought dunno.
Although this could totally be considered as something that is out of scope for what you're trying to do but just thinking out loud
This is ultimately a semantics discussion. The functionality is already built with a "Family" model that has_many "Users".
So imagine you and your spouse want to sign up. You'd both be users under the same family.
Lee is suggesting to rename the "Family" model to "Household". That model-renaming is what's being discussed.
I think Family works in the common scenario of a personal finance app. Ultimately its a code level thing at the moment and in that context it works really well. We can surface other names in the UI if we ever need to (even as a user setting) without the model naming being affected.
Unmarried partners is just one example. This name just struck me immediately in regards to single people.
And since it is a finance app, Household is the term the IRS uses so, to me, that fits a little better.
Sure it's, "semantics," but good naming is crucial for a maintainable app. Easier to change now than later.
IMHO discussions around names in OOP tend to uncover some hidden concepts, so not a waste of time.
Also, not trying to die on this hill.
I think the idea of Organization with types is not a bad approach, but would wait to see if that abstraction would ever actually be needed.
I don't mind the discussion. I ultimately think there's not a clear winner between "families" and "households" enough to go through and rename tables/models.
If it becomes an end-user UX problem then @robzolkos is correct that we can just adjust it there.
Hell, with I18n, each self-hoster could change it to literally anything they want. 🙂
I appreciate you starting the convo. Going to close for the time being as I think there's lower hanging fruit to tackle.
I think a better name for the Family model might be Household.
Family implies a certain time of living situation and excludes single people, unmarried partners sharing finances, etc.
I can open a PR with this change if y'all agree.