philosophy.md: minor tweaks. add section about usability. [ci skip] (#5730)
This commit is contained in:
parent
918eca635d
commit
007b5cf8b8
|
@ -5,6 +5,12 @@ It is important that everybody in the Cppcheck team has a consistent idea about
|
|||
|
||||
This is a static analyzer tool.
|
||||
|
||||
## Usability
|
||||
|
||||
Usability is very important. It's more important that Cppcheck is usable than finding all bugs.
|
||||
- We don't want to have tons of configurations options.
|
||||
- It's very important that warning messages are well written and with enough details.
|
||||
- Speed is very important. --check-level=exhaustive can be used when user accept slow analysis.
|
||||
|
||||
## Normal analysis - No false positives
|
||||
|
||||
|
@ -12,9 +18,9 @@ A fundamental goal is "no false positives".
|
|||
|
||||
It is not possible to achieve "no false positives" completely. One case where false positives are OK is when the code is garbage.
|
||||
|
||||
If the code is written as it is by design, then our goal is to not warn.
|
||||
If the code is written as it is by design, then our goal is to not show any false positives.
|
||||
|
||||
If it is not known if there is a problem, then in general we need to bailout. We can only warn when we see that there is a problem.
|
||||
If it is not known if there is a problem, then in general we need to bailout to avoid false positives. We can only warn when we see that there is a problem.
|
||||
|
||||
Stylistic checks are much more prone to false positives and therefore we should avoid writing stylistic checks mostly.
|
||||
|
||||
|
@ -24,7 +30,10 @@ Reporting issues in Trac:
|
|||
|
||||
### Inconclusive messages
|
||||
|
||||
Inconclusive messages will be created if cppcheck cannot be sure there is an issue to warn but 50-50 probability. User shall enable inconclusive messages if they are willing to spend substantially more time on message verification in order to find more issues within a high false positive rate.
|
||||
If cppcheck can't determine that there is a problem or not, then the analysis is inconclusive.
|
||||
|
||||
If the user enables inconclusive warnings and we guess that the probability there is a real problem is at least 50-50 then it's OK to write a inconclusive warning.
|
||||
|
||||
Inconclusive messages shall not be used for new checks which are just being developed. There `settings.experimental` can be used.
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue