본문 바로가기

2022/01/183

정확한 답이 필요하다면 float와 double은 피하자 🏃‍♂️ 이 글은 책 이펙티브 자바 3판 Item60을 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 주제 일반적인 프로그래밍 원칙 결론 float와 double은 근사치이기 때문에 정확한 계산(e.g. 금융)은 맞지 않다. 정확한 계산에는 BigDecimal으로 바꾸거나 정수 타입으로 스케일을 바꾼 뒤 계산한다 float나 double는 부동 소수점의 정밀도 차이로 정확한 값 비교가 틀릴 수 있다. 이를 위해 자바에서 BigDecimal을 사용하거나 소수값을 정수로 스케일을 변경하여 ( e.g. 0.01달러 = 1센트, 1.25달러 = 125센트) 계산하자 @Test void double_연산() { double d1 = 1.03; double d2 = 0.42; double result = d1.. 2022. 1. 18.
표준 라이브러리를 익히고 사용하자 ㉿ 이 글은 책 이펙티브 자바 3판 Item59과 하단 Reference 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 결론 표준 라이브러리를 사용하자 (바퀴를 다시 발명하지 말자) 학습 목적으로 라이브러리를 재구현 해보는 것은 좋은 일이다. 하지만 프로덕트 코드에서 이미 있는 메서드를 다시 구현할 필요가 있을까? 표준 라이브러리 사용 장점 1. 전문가들이 구현한 코드 2. 직접 구현한다고 시간 허비하지 않아도 됨 3. 성능의 지속적인 개선 (라이브러리 업데이트) 4. 기능 추가 (라이브러리 업데이트) 5. 다른 사람이 봤을 때 낯익은 코드가 됨 그렇다면 왜 표준 라이브러리를 안 쓸까? 대부분 잘 몰라서이다. 자바의 경우 표준 라이브러리가 방대하다 보니 원하는 기능을 찾기가 어렵다. 그래도 자.. 2022. 1. 18.
지역 변수의 범위를 줄여 쉬운 코드 작성하기 (feat. while 보다는 for) 이 글은 책 이펙티브 자바 3판 Item57을 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 주제 일반 프로그래밍 원칙 결론 지역 변수가 많거나 범위가 넓으면 오류 발생이 크다. 지역 변수의 유효 범위를 최소로 줄이면 가독성과 유지보수성이 높아지고 오류 가능성은 낮아진다. 지역 변수의 범위와 오류를 줄이는 방법 5가지를 알아보자 ✅ 1. 가장 처음 쓰일 때 선언하기 C언어 개발자들은 지역 변수를 코드 블록 첫머리에 선언하는 경우가 많았다. 하지만 코드가 길어지면 정작 사용할 때 이해가 어렵다. 자바에서는 어디서든 선언 가능하니 사용하기 직전에 선언하자 public class Car { public static void main(String[] args) { String name = "BMW.. 2022. 1. 18.