Every piece of software is not perfect. We have plenty of bugs. Some of them are minor and do not do many harm but sometimes there are those nasty ones which are harder to detect. When you deal with them you may even not see them on the first glance even if you are looking just at them.
Some bugs need to be debugged and destroyed by us but some can be identified by static code analyzers.
Static Code Analyzer is very powerfull tool. As the name suggests it analyze your code by using various algorithms to detect defects in your software coming from your source code.
It will spot all your funny mistakes. You did not dispoed File.Create(“blabla.txt”) -> static analyzer will point it out. It will point out a lot of things that are wrong inside your code.
You do not need to detect those bugs when user will submit bug report to you. You can just start using some kind of analyzer today.
I actually know about 3 tools that can be used to do static analyze atm.
- First is very known R# but it comes with a lot of other tools. It is just a multitool. Therefore we cannot simply call it code analyzer.
- There is PVS Studio which i started to use today. I am very happy from errors that I fixed after my first analyse.
- There is also Gu.Analyzers, which you can insert to your project just by adding NuGet package. It’s very nice option because it will always be active on your project even without 3rd party software.