Blog post: What D got wrong
JN
666total at wp.pl
Wed Dec 12 21:00:13 UTC 2018
On Wednesday, 12 December 2018 at 20:12:54 UTC, Guillaume Piolat
wrote:
> On Wednesday, 12 December 2018 at 14:48:23 UTC, Atila Neves
> wrote:
>> On Tuesday, 11 December 2018 at 14:00:10 UTC, dayllenger wrote:
>>> On Tuesday, 11 December 2018 at 13:42:03 UTC, Guillaume
>>> Piolat wrote:
>>>> One could say getters and particularly setters don't really
>>>> deserve a nicer way to write them. It's a code stink, it
>>>> deserve a long ugly name. (10 years ago I would be in the
>>>> other camp)
>>>
>>> Can you please explain it in more detail? I never read such
>>> about getters and setters.
>>
>> Tell, don't ask:
>> https://martinfowler.com/bliki/TellDontAsk.html
>
> Sometimes formulated slightly differently as "Law of Demeter"
> https://en.wikipedia.org/wiki/Law_of_Demeter
>
> if you like more pompous names.
Law of Demeter is different. Law of Demeter basically translates
to "don't have more than one dot", like x.y() is fine, x.y.z()
isn't because it makes too many assumptions about internals of x
and y.
Properties have use when the setting or getting the variable
isn't a trivial assignment. For example, sometimes the units need
to be converted along the way. In many cases, especially when GUI
programming, you might want to do additional actions when
settings/getting a variable, like calling listeners to notify
them of the value change so that they can change the value in the
GUI widget automatically.
More information about the Digitalmars-d-announce
mailing list