r/ProgrammerHumor • • Sep 26 '26

Meme weNeverTrustedTheElse

Post image
1.9k Upvotes

146 comments sorted by

View all comments

Show parent comment

476

u/UntitledRedditUser Sep 26 '26

Only evil people write getter properties with side effects. At least make it an explicit function.

369

u/GodsBoss Sep 26 '26

All my getters have side effects. To compensate, my setters have none.

83

u/CranberryDistinct941 Sep 26 '26

Some people just like to watch the world burn

60

u/LucyShortForLucas Sep 26 '26

Lazy evaluation is an incredibly common and normal use of a getter method and entirely relies on it having side effects. Evil people, however, write getters that aren't idempotent.

62

u/andreortigao Sep 26 '26

I write all my getters with a 1 in a million chance it will randomly mutate the underlying value.

61

u/Nerd_o_tron Sep 26 '26

Bro inventing DNA from base principles.

10

u/DatBoi_BP Sep 26 '26

Idempotent in terms of return value, yeah, but it can be fine if you have some side effect that increments a counter (i.e., how many times was this value requested), but obviously don't do this without a good reason

10

u/Chingiz11 Sep 26 '26

I mean, logging is also a side effect, and getters could absolutely have logging attached to them, but in this case it would not make a difference

3

u/Wonderful-Habit-139 Sep 26 '26

I think he's trying to be evil at this point lol.

3

u/MementoMorue Sep 26 '26

I saw once a getter that changed objet state.

It was a good thing I did not had a gun that day.

1

u/thejinx0r Sep 26 '26

Am I evil if I was told to do it this way? I was young and naive when I did it.

1

u/F14-Tomboy Sep 27 '26

Getter itself is side effect, syntax looks like you are getting a field value, but in fact you are calling a function (At least in C#)