CHAAANY ARCHIVE

Java assert

1개의 기록을 주제별로 둘러보세요.

Assertion은 운영에서 꺼야 할까: Java·Python·TypeScript·Go의 실제 차이

Assertion은 외부 입력을 검증하는 기능이 아니라 개발자가 이미 참이어야 한다고 믿는 내부 불변식(invariant)을 확인하는 장치다. 운영 환경에서 켜거나 끌 수 있는 언어도 있지만, 프로그램의 올바른 동작이 그 설정에 의존해서는 안 된다.Java의 assert, Python의 assert, TypeScript의 type assertion과 assertion function, Go의 panic은 이름이나 쓰임이 비슷해 보여도 실행 의미가 다르다. preprod와 production 정책을 정하기 전에 언어별 차이를 분리해야 한다.먼저 나눌 것: 입력 검증과 내부 불변식할인율을 받는 함수를 예로 들면 다음 두 검사는 성격이 다르다.0 : 외부 caller가 지켜야 할 public contract이..

728x90