+1. I also think that we have bigger fish to fry first.
My point was not to force one way or the other. Rather that the way it currently stands there’s a valid reason to use string literals. I was not suggesting changing anything. Thanks, Harbs > On Jul 11, 2017, at 6:33 PM, Josh Tynjala <joshtynj...@gmail.com> wrote: > > That sounds like the proper way to handle this! We should be able to > reference constants in our ActionScript so that we can get compile-time > errors from typos, while the compiler makes sure that generated JavaScript > can be properly minified. > > - Josh > > On Tue, Jul 11, 2017 at 8:20 AM, Alex Harui <aha...@adobe.com.invalid> > wrote: > >> AIUI, there is a cost in the minified JS to using constants. >> >> However, there is a cost to screwing up the typing of a string literal as >> well. >> >> The best answer for now, IMO, is to not care whether folks use constants >> or string literals. There are much bigger fish to fry. I don't want to >> see sweeping changes of replacing all string literals with constants or >> vice versa. If you've got that kind of time on your hands, learn the >> compiler code and see if you can make the cross-compiler replace all >> constants with string literals. IMO, that's the right answer. >> >> -Alex >> >> On 7/11/17, 5:37 AM, "Harbs" <harbs.li...@gmail.com> wrote: >> >>> Here’s what is output in the minimized code: >>> >>> function >>> fqa(){}w('org.apache.flex.net.HTTPConstants.GET','GET'); >> w('org.apache.flex >>> .net.HTTPConstants.POST','POST');w('org.apache.flex.net. >> HTTPConstants.PUT' >>> ,'PUT');w('org.apache.flex.net.HTTPConstants.FORM_URL_ >> ENCODED',Fm);w('org. >>> apache.flex.net.HTTPConstants.DELETE','DELETE' >> );w('org.apache.flex.net.HTT >>> PConstants.OPEN','open');w('org.apache.flex.net. >> HTTPConstants.COMPLETE',Bt >>> );w('org.apache.flex.net.HTTPConstants.COMMUNICATION_ >> ERROR',At);w('org.apa >>> che.flex.net.HTTPConstants.IO_ERROR','ioError'); >>> w('org.apache.flex.net.HTTPConstants.SECURITY_ERROR', >> 'securityError');w('o >>> rg.apache.flex.net.HTTPConstants.STATUS',Fx);w(' >> org.apache.flex.net.HTTPCo >>> nstants.RESPONSE_STATUS','httpResponseStatus');fqa. >> prototype.h={names:[{na >>> me:'HTTPConstants',i:IF,kind:g}]};w(IF,fqa); >>> >>> elsewhere: >>> IF='org.apache.flex.net.HTTPConstants’, >>> >>> That’s 807 bytes. That’s quite a penalty for avoiding typing “POST”… >>> >>> No idea what wiki you are referring to. >>> >>> Harbs >>> >>>> On Jul 11, 2017, at 2:36 PM, Justin Mclean <jus...@classsoftware.com> >>>> wrote: >>>> >>>> Hi, >>>> >>>>> As it stands now, use of constants result in more JS code after >>>>> compiled. >>>> >>>> Debug yes but not optimised / release. >>>> >>>>> It’s possible that this can be optimized, but currently the most >>>>> efficient JS code is produced if using string literals rather than >>>>> constants. (The Google compiler created variables for string literals >>>>> used more than once.) >>>> >>>> That's not we found in a previous thread on this list, the google >>>> compiler optimises the constants and there is no penalty in using them. >>>> You mind provide examples that show the above is the actually case and >>>> document it on the wiki? >>>> >>>> My vote would be not the duplicate the strings everywhere and use >>>> constants as there is no cost and increased safety. >>>> >>>> Thanks, >>>> Justin >>> >> >>