DotNetAnalyzers / AsyncUsageAnalyzers

Now superseded by Microsoft/vs-threading
https://github.com/Microsoft/vs-threading
Other
121 stars 18 forks source link

Don't use Thread.Sleep() analyzers - initial implementation #50

Open tmaczynski opened 8 years ago

tmaczynski commented 8 years ago

I've created two analyzers:

I've made a decision to treat "async void" code as asynchronous.

I think that the first analysis should be active by default.

I've updated version of Microsoft.CodeAnalysis in a separate commit - if I recall correctly, I needed some functionality from the newer version. I did not observe any regression.

I've also updated a version of Visual Studio in sln file in a separate commit. I guess that majority of people use the most recent version of VS2015 so I think that it's convenient to include that change in repo.

I don’t know whether contributors are listed somewhere. I added comments listing me as a contributor in my pull request, but feel free to remove them if you want.

codecov-io commented 8 years ago

Codecov Report

Merging #50 into master will increase coverage by 0.47%. The diff coverage is 93.45%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #50      +/-   ##
==========================================
+ Coverage   81.75%   82.22%   +0.47%     
==========================================
  Files          36       49      +13     
  Lines        2970     3741     +771     
  Branches      226      252      +26     
==========================================
+ Hits         2428     3076     +648     
- Misses        434      553     +119     
- Partials      108      112       +4
Impacted Files Coverage Δ
...ers/Usage/DontUseThreadSleepInAsyncCodeAnalyzer.cs 100% <100%> (ø)
...ageAnalyzers.Test/Usage/DontUseThreadSleepTests.cs 100% <100%> (ø)
...UsageAnalyzers/Usage/DontUseThreadSleepAnalyzer.cs 100% <100%> (ø)
...nalyzers.Test/Usage/DontUseThreadSleepTestsBase.cs 100% <100%> (ø)
...s.Test/Usage/DontUseThreadSleepInAsyncCodeTests.cs 100% <100%> (ø)
...yncUsageAnalyzers/Usage/UsageResources.Designer.cs 21.66% <22.22%> (ø)
...ageAnalyzers/Helpers/ExpressionSyntaxExtensions.cs 77.08% <77.08%> (ø)
...eAnalyzers/Usage/DontUseThreadSleepAnalyzerBase.cs 84.21% <84.21%> (ø)
.../DontUseThreadSleepCodeUniversalCodeFixProvider.cs 93.2% <93.2%> (ø)
...nalyzers/AsyncUsageAnalyzers/AnalyzerExtensions.cs 66.19% <0%> (-4.23%) :arrow_down:
... and 16 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 1e9fb71...a49bd3a. Read the comment docs.

tmaczynski commented 7 years ago

It's been a while since I've created this PR. Do you have more feedback? I would like to make further contributions to this project, but I don't know if it's still maintained.

tmaczynski commented 7 years ago

I've moved DontUseThreadSleep.md and DontUseThreadSleepInAsyncCode.md to a documentation folder and updated them slightly.