
"Powell, Gary" <powellg@amazon.com> 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. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com