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