[squeak-dev] Class comment for Date mentions #localizedDates
Chris Muller
asqueaker at gmail.com
Tue Jun 28 18:41:28 UTC 2016
> If we can assume that the current Squeak implementation of Date as
> a duration makes sense for a class named "Day" and that the prior
> implementation of Date as a magnitude makes sense for a class named
> "Date", then a possible way forward would be (in someone's local image,
> not yet in trunk):
>
> - Rename class Date as Day
> - Copy the Date tests to a new class for the Day tests.
> - Make sure that the tests for Day are working.
> - Load an old version of Date from the most recent Squeak version that had Date as a magnitude.
> - Make the unit tests work for Date.
Hi Dave,
I appreciate your point about the semantics of the word "Date" vs.
"Day" but since DateAndTime is also part of Chronology, I hope you
don't intend to rename it to "DayAndTime" and make it work with Days..
:)
DateAndTime has #asHour, #asDate, #asMonth, #asYear -- each one
returning an instance of the appropriate Timespan subclass. This
proposal would interject a totally orthogonal "exception" into the API
of Chronology. Your Magnitude version of Date would have a different
API like #isTimespan, for example. So, it would break many
applications not just from the format change, but their application
logic too. That's too big a cost.
I worked a lot with Brent for several years, I know his style is to
make terse and elegant API's. Chronology provides us with a robust
interoperation of inputs with its outputs. I happen to know the
compactness of the API was a deliberate part of his legacy creation.
We should respect that.
> I was really just trying to ask for a good class comment.
I really do think this is the best way to do this clarification. Did
you notice that Bert already updated the class comment of Timespan to
mention the dual capability? So, I think simply removing that old
stuff from Date's comment is simple and effective solution without
breaking legacy apps.
More information about the Squeak-dev
mailing list
|