dart-archive / observe

Support for marking objects as observable, and getting notifications when those objects are mutated
https://pub.dartlang.org/packages/observe
BSD 3-Clause "New" or "Revised" License
13 stars 6 forks source link

observe/polymer: Uppercase and refactor annotation names #52

Closed DartBot closed 9 years ago

DartBot commented 9 years ago

Issue by seaneagan Originally opened as dart-lang/sdk#15159


issue dart-lang/sdk#0 argued for upper casing the dart:core annotations, but looks like there just wasn't enough time to make that change before 1.0. However, it's not too late to make the same change for observe/polymer:

@observable @reflectable @published

->

@Observed() @Reflected() @Published()

and then hopefully later fix issue dart-lang/sdk#2 shortening them to:

@Observed @Reflected @Published

Removing the 'Property' suffix from PublishedProperty and ObservableProperty makes them consistent with the current Reflectable, which could allow them to also be used at the class level to mark all properties as such. And since @­Observable doesn't work, the 'able' suffix doesn't work, but the 'ed' suffix seems to work in all cases, and (FWIW) matches Deprecated.

DartBot commented 9 years ago

Comment by jmesserly


Personally I doubt 13582 will be fixed. Makes this likely moot.

I don't like "observed" because it hasn't necessarily been observed. And may never be. I think "@published" is the outlier. One idea there was to make it @­attribute.


Added Area-Polymer, Triaged labels. Marked this as being blocked by dart-lang/sdk#13582.

DartBot commented 9 years ago

Comment by sigmundch


added also prerequisite on issue dart-lang/sdk#11474, so we first agree on what the style should be before we change it in polymer.


Marked this as being blocked by dart-lang/sdk#11474.

DartBot commented 9 years ago

Comment by jmesserly


given the convention in corelib already exists, I doubt we'll change this. At least, I'm not seeing a persuasive reason.

(I get that it is familiar from C# and Java, but Dart annotations are full const expressions, so they don't have the same limitations)

DartBot commented 9 years ago

Comment by sigmundch


Added Library-Observe, Library-Polymer labels.

DartBot commented 9 years ago

Comment by anders-sandholm


Removed Library-Observe label. Added Pkg-Observe label.

DartBot commented 9 years ago

Comment by jmesserly


not planned to remove the shorthand forms, but if you prefer you can most certainly use the const ctors instead:

@ObservableProperty() @Reflectable() @PublishedProperty()

(Note that ObservableProperty couldn't be named Observable as it would conflict with the mixin/base class type.)


Added NotPlanned label.