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.

Reply via email to