FNA-XNA / FNA

FNA - Accuracy-focused XNA4 reimplementation for open platforms
https://fna-xna.github.io/
2.59k stars 261 forks source link

The Monolithic Static Analysis Thread #1

Open flibitijibibo opened 8 years ago

flibitijibibo commented 8 years ago

This will act as the monolithic thread for bringing our static analysis warnings down to 0, for ALL possible analyzers. For starters, here are our current reports:

VS 2017: http://fna.flibitijibibo.com/analyze2017.txt

The Utilities/ folder is the only folder that is NOT to be touched. This is because we need to keep MonoGame compatibility for these files in particular. In addition, we will NOT be touching the StockEffects since those came directly from Microsoft, so changing them would only be more inaccurate. Lastly, these reports include messages for third-party libs; you ignore these warnings.

For this task, simply take any task in the report you want (letting us know you're doing so), send me the PR to fix it, and I'll update the report.

Ideally we should be able to properly fix all of these defects, but some are by XNA4's design... for example, Microsoft.Xna.Framework.Input.Touch is a massive namespace, and Gendarme reports this, but we can't change this without breaking XNA4 compatibility. In these situations, add a line to suppress the warning and document why the suppression is needed.

As we get closer to resolving all the warnings I'll be lowering the threshold for warning level and certainty, so expect more defects to show up as the list gets smaller.

If you decide to take a task, please post here and let us know you're working on it. Because we're doing so much work on so much code, we need to be sure we're not conflicting with other branches.

flibitijibibo commented 6 years ago

This has been updated with a VS2017 report for the new FAudio rewrite.

flibitijibibo commented 2 years ago

I think it's time to revive this... in particular we should be able to replace this thread with GitHub Actions. I would really like to add a C# /analyze action to FNA, and Clang static analysis actions for FAudio and FNA3D (probably not Theorafile since it's mostly Xiph code that we're never going to change). If anyone likes working with Actions and wants to write this in, I'll take it in and we can close this for good.