New rule: Floating point numbers should not be compared directly
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Ambito
- tooling
Direzione di ricerca
Non viene indicato alcun file di implementazione, test o punto di ingresso. Inizia individuando come sono strutturate le nuove regole e i relativi test in sonar-delphi, quindi definisci la copertura per i controlli di uguaglianza in virgola mobile usando l’esempio Delphi; il lavoro è completato quando la regola identifica in modo affidabile i confronti con = o <>.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Prerequisites
- This rule has not already been suggested.
- This should be a new rule, not an improvement to an existing rule.
- This rule would be generally useful, not specific to my code or setup.
Suggested rule title
Floating point numbers should not be compared directly
Rule description
This rule would identify instances of a floating point value being checked for equality with = or <>.
Rationale
Two floating point numbers may appear to have the same value, but be slightly different due to rounding errors in calculation. This is unpredictable and leads to buggy code.
The following code would print They are not the same...:
A := (0.3 * 3) + 0.1;
B := 1.0;
if A = B then begin
WriteLn('They are the same!');
end
else begin
WriteLn('They are not the same...');
end;
- Lingua principale
- Java
- Stelle
- 160
- Fork
- 36
- Merge medio
- 5h 17m
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di integrated-application-development/sonar-delphi
-
`automated` visibility tokenized but not handled crashes the scanForse già presa @adityaanikam l’ha presa 17 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
integrated-application-development/sonar-delphi#471 · 1 commento ·
-
bug triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 66/100
-
VariableInitialization false positive for custom managed record with Initialize operatorForse già presa @Bazooper-blip l’ha presa 23 giorni fa. Apertaenhancement rule
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
integrated-application-development/sonar-delphi#468 · 1 commento ·
-
engine enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
feature rule
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Tutte le issue di integrated-application-development/sonar-delphi
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/rocketmq-dashboard#6896 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
-
Unrecognized database schema version is treated as a pre-2.0 databaseForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenIntegrationEngine/engine#496 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
SasanLabs/VulnerableApp#836 ·
I maintainer di solito rispondono entro 1 giorno