maybe-finance / maybe

The OS for your personal finances
https://maybe.co
GNU Affero General Public License v3.0
30.16k stars 2.26k forks source link

What about renaming "Family" to "Household" #258

Closed leemcalilly closed 8 months ago

leemcalilly commented 8 months ago

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.

Shpigford commented 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").

aaoafk commented 8 months ago

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

Shpigford commented 8 months ago

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.

robzolkos commented 8 months ago

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.

leemcalilly commented 8 months ago

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.

Shpigford commented 8 months ago

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.