코드 냄새 108 - 플로트 어설션
5675 단어 codenewbieooptutorialcleancode
TL;DR: Don't compare floats
문제
솔루션
문맥
float 수를 비교하는 것은 오래된 컴퓨터 과학 문제입니다.
일반적인 솔루션은 임계값 비교를 사용하는 것입니다.
부동 소수점을 피하고 무한 정밀도 숫자를 사용하는 것이 좋습니다.
샘플 코드
잘못된
Assert.assertEquals(0.0012f, 0.0012f); // Deprecated
Assert.assertTrue(0.0012f == 0.0012f); // Not JUnit - Smell
오른쪽
Assert.assertEquals(0.0012f, 0.0014f, 0.0002); // true
Assert.assertEquals(0.0012f, 0.0014f, 0.0001); // false
// last parameter is the delta threshold
Assert.assertEquals(12 / 10000, 12 / 10000); // true
Assert.assertEquals(12 / 10000, 14 / 10000); // false
발각
[X] 자동
float 확인을 피하기 위해 테스트 프레임워크에 check con assertEquals()를 추가할 수 있습니다.
태그
잘못된
Assert.assertEquals(0.0012f, 0.0012f); // Deprecated
Assert.assertTrue(0.0012f == 0.0012f); // Not JUnit - Smell
오른쪽
Assert.assertEquals(0.0012f, 0.0014f, 0.0002); // true
Assert.assertEquals(0.0012f, 0.0014f, 0.0001); // false
// last parameter is the delta threshold
Assert.assertEquals(12 / 10000, 12 / 10000); // true
Assert.assertEquals(12 / 10000, 14 / 10000); // false
발각
[X] 자동
float 확인을 피하기 위해 테스트 프레임워크에 check con assertEquals()를 추가할 수 있습니다.
태그
결론
플로트 비교는 항상 피해야 합니다.
처지
Code Smell 71 - 소수점으로 위장한 매직 플로트
Maxi Contieri · May 24 '21 · 2분 읽기
#webdev
#javascript
#programming
#codenewbie
더 많은 정보
Code Smell 71 - 소수점으로 위장한 매직 플로트
Maxi Contieri · May 24 '21 · 2분 읽기
#webdev
#javascript
#programming
#codenewbie
더 많은 정보
학점
사진 제공: Mika Baumeister on Unsplash
God made the natural numbers; all else is the work of man.
레오폴드 크로네커
소프트웨어 엔지니어링 위대한 인용문
Maxi Contieri ・ 12월 28일 '20 ・ 13분 읽기
#codenewbie
#programming
#quotes
#software
이 기사는 CodeSmell 시리즈의 일부입니다.
코드에서 악취나는 부분을 찾는 방법
Maxi Contieri · May 21 '21 · 4분 읽기
#codenewbie
#tutorial
#codequality
#beginners
Reference
이 문제에 관하여(코드 냄새 108 - 플로트 어설션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/mcsee/code-smell-108-float-assertions-40b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
God made the natural numbers; all else is the work of man.
소프트웨어 엔지니어링 위대한 인용문
Maxi Contieri ・ 12월 28일 '20 ・ 13분 읽기
#codenewbie
#programming
#quotes
#software
코드에서 악취나는 부분을 찾는 방법
Maxi Contieri · May 21 '21 · 4분 읽기
#codenewbie
#tutorial
#codequality
#beginners
Reference
이 문제에 관하여(코드 냄새 108 - 플로트 어설션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mcsee/code-smell-108-float-assertions-40b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)