|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2004-04-16 10:09:26
David Abrahams <dave_at_[hidden]> writes:
> "Powell, Gary" <powellg_at_[hidden]> writes:
>
>>>> I think readability is more important. Nobody but pedants have
>>>> problems with string + string. Likewise I think:
>>>>
>>>> d + 2*months
>>>>
>>>> or whatever is better than the functional-looking alternatives.
>>
>>>If there was universal acceptance of what it means to add two
>>>months to a date, I might agree. Given the imprecise notion of
>>>what it means to add two months, however, I disagree.
>>>"next_month" or "increment_month" versus "add_month" better
>>>distinguish the imprecision.
>>
>> Here I totally agree with Rob, adding months is a non-intuitive operation and
>> calling out the precision helps the readability of the program.
>>
>> It makes perfect sense to do
>>
>> d + (30 * days)
>>
>> but not with Months.
>
> It makes perfect sense if you know the semantics the library assigns
> to months.
>
> Does the library have a concept of a month with no day, e.g. January
> of 2004? If so, I'd be happy to say
>
> date(d.month() + 2*months, d.day)
>
> That, too, calls out the fact that adding months to dates has a
> dubious meaning.
No comment?
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk