On Thu, Mar 12, 2015 at 9:15 PM, Alex Harui <[email protected]> wrote:
> I’ve been plugging away trying to convert the FlexJS framework to use
> Object.defineProperty.
This removes IE8 from the equation. You probably know that already.
> I’m looking to get other’s thoughts on how to indent, comment and
> otherwise format or style the actual code. Here’s what I mean:
>
> The old code looked like this:
>
> /**
> * @expose
> * @return {number} The offset to write to or read from.
> */
> org_apache_flex_utils_BinaryData.prototype.get_position = function() {
> return this.position_;
> };
>
>
> /**
> * @expose
> * @param {number} value The offset to write to or read from.
> */
> org_apache_flex_utils_BinaryData.prototype.set_position = function(value) {
> this.position_ = value;
> };
>
>
>
> I think the equivalent with Object.defineProperties is this:
>
> Object.defineProperties(org_apache_flex_utils_BinaryData.prototype, {
> 'position': {
> get: function() {
> return this.position_;
> },
> set: function(value) {
> this.position_ = value;
> }
> }
> });
>
> As you can see, it looks like we are building out object structures with
> functions as values. One of the things I don’t like is it causes the code
> to be indented pretty far in. And when you start placing in comments,
> they are also indented and it really starts to look cluttered.
>
I prefer more indentation, especially these cases. Makes it more readable,
in my opinion.
Thanks,
Om
>
>
> I’m also wondering whether comments even matter for the Google Closure
> Compiler. No code will directly access the get or set properties of these
> subobjects.
>
> Finally, I’ve been reading that @expose is deprecated in GCC. I’m
> wondering how we are supposed to prevent property renaming, if at all.
>
>
> Thoughts?
>
> Thanks,
> -Alex
>
>
>