This is pretty cool analysis. I don’t know if we will be taking it into
account, because starting with version 1.0.0, ESLint will not include default
configuration for the rules (at least it will not include implicit default
configuration).
Thanks,
Ilya Volodin
From: [email protected] [mailto:[email protected]] On Behalf Of
Radjino Bholanath
Sent: Friday, June 12, 2015 4:04 PM
To: [email protected]
Subject: [ESLint] Results from TU Delft research on how ESLint is used in
practice
Hi everyone,
I'm Radjino Bholanath, a master student at the Delft University of Technology.
I've analyzed 4407 open source projects to see how ESLint is used in practice.
These 4407 .eslintrc configurations were primarily obtained via GitHub and
includes all of those files on GitHub, aside from those included via
dependencies (node_modules, grunt_modules etc.). That is, if a project has
multiple .eslintrc files, we analyzed both and not just the one in the root. In
this email, I want to present you a short overview of our findings.
For all the warning rules that are enabled in the default configuration, here
are the top 5 rules that are actually disabled by developers:
| Rule Name | Percentage of times disabled |
|-----------------------|-----------------------------|
| no-underscore-dangle | 59.5 |
| strict | 50.5 |
| curly | 25 |
| no-constant-condition | 23 |
| space-infix-ops | 23 |
Similarly, for all the warnings rules that are disabled in the default
configuration, here are the top 5 rules that developers actually enable:
| Rule Name | Percentage of times enabled |
|----------------------|-----------------------------|
| brace-style | 55.5 |
| wrap-iife | 33 |
| space-after-keywords | 32 |
| radix | 31.5 |
| no-floating-decimal | 31.5 |
Some rules can also be configured. To see what rules are possibly have a
different configuration than the default one, we counted the amount of times a
default, configurable rule appeared in a developers configuration. The top 5:
| Rule Name | Percentage of times enabled |
|----------------|-----------------------------|
| quotes | 72 |
| new-cap | 54.5 |
| no-unused-vars | 42 |
| eqeqeq | 37.5 |
| curly | 34.5 |
We do not have that information for exclusions, as it does not make sense for a
developer to turn off a rule and then spend time configuring it to their liking.
Linked are bar charts that show these results for all the rules in the default
configuration (as retrieved on the 10th of March, 2015). In the first image,
the results of the first table are the red bars and the results of the third
table are the blue bars. The second image represents the second table.
http://www.st.ewi.tudelft.nl/~mbeller/asat-analysis/eslinttable1and3.png
<https://webmail.tudelft.nl/owa/redir.aspx?C=pYcLMgvLT0KVNirOiAsv8lp0q0rheNIIBNDnjmn8g-o2tlbhUP_gfWa53S_iVsi92BdHtDoYnjw.&URL=http%3a%2f%2fwww.st.ewi.tudelft.nl%2f%7embeller%2fasat-analysis%2feslinttable1and3.png>
http://www.st.ewi.tudelft.nl/~mbeller/asat-analysis/eslinttable2.png
<https://webmail.tudelft.nl/owa/redir.aspx?C=pYcLMgvLT0KVNirOiAsv8lp0q0rheNIIBNDnjmn8g-o2tlbhUP_gfWa53S_iVsi92BdHtDoYnjw.&URL=http%3a%2f%2fwww.st.ewi.tudelft.nl%2f%7embeller%2fasat-analysis%2feslinttable2.png>
I've attached the full results as well. The file 'eslint_enables' contains how
many times a rule was enabled by developers, 'eslint_disables' shows similar
information but for all the rules that are disabled by developers. The data in
'eslint_default_enables' is that of the first bar chart, and finally
'eslint_default_disables' is the data for the second bar chart.
We would be interested to hear what you think: Is this information interesting?
Are you considering changing your default configuration due to these results?
Why or why not?
Sincerely,
Radjino Bholanath
--
You received this message because you are subscribed to the Google Groups
"ESLint" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected]
<mailto:[email protected]> .
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"ESLint" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.