While I personally use === and !==, the vast, VAST majority of ActionScript developers do not. I think it makes sense to turn that off for the default profile. It's not considered best practice in the ActionScript community. Probably because we encounter undefined significantly less than JS developers do.
- Josh On Jul 9, 2017 1:13 AM, "Justin Mclean" <jus...@classsoftware.com> wrote: Hi, > I made two changes on Friday. Can I ask why you didn’t email the list saying you had done this and what the purpose of disabling those rules were? Or disabling rules when I suggested that you should make a custom profile instead? > It’s important to note that these changes were only to the “Flex” language. Considering that we’re the only project using this language at all, it does not effect anyone else. How did you know we are the only project using that profile when you disabled those rules? Several other projects do use Actionscript and at least one I know has used Flex. What do you think would of happened if you had changed the Java default profile which we also use? > Additionally, as best as I can tell, the language was first defined in the end of December. Sonar cube has been running against the FlexJS framework and compiler for more than a year (probably two). In December Apache updated to a new version of Sonar Cube. Going way back it was first suggested to be set up in 2013 and Chris had it running externally for a bit before it was set it up at Apache. There have been several discussions about it on thd list over that time and no one has suggested disabling rules that I can recall. > Considering we “own” the language, it seems reasonable that we should define sane defaults in case any other project DOES use the language. I have Sonar Cube running locally and use it to track TD on a current project and I don’t disable those rules, in fact I turn on several more. > "===" and "!==" should be used instead of "==" and "!=“ is simply incorrect for ActionScript. I flies in the face of accepted coding practices for the language, and should be removed completely. Which is an opinion not held by all JavaScript and ActionScript developers, in fact a large number of them consider it harmful to use “==“ and “!=". I use “===“ and “!===“ most of the time in my AS code and I know (for instance) Josh does as well. It may not made sense to use it everywhere in the Flex JS SDK, but there is a fair amount of use off === and !== in the existing FlexJS SDK (around a 1000 occurrances from a quick search) so it seems that it’s not incorrect to use it even in our own framework. Rather than turning off the rule I have suggested in my wiki document to make it a minor issue. You are free to ignore any minor issues you want. Sonar Cube also has good filtering tools to help you do that. > "public static" fields should be constant is not something that Flex ever enforced. I don’t really see the value for this rule, but I could go either way. Others may have differing options. It would would be best to discuss it on list/wiki first before turning any rules off. > Feel free to revert my changes, but the discussion should be about defaults for the language, and not just about a custom rule set. Different projects may have a different set of rules. I think it better to go with the defaults as they are provided and have each project tune it. Framework code is often different to application code so having one default for both sorts of projects may not make sense. Thanks, Justin