저는 프로그래머가 인터페이스에서 불변 조건 (사전 조건 및 사후 조건)을 지정할 수있는 Java 프레임 워크를 만들려고했습니다. 그 목적은 코드를보다 강력하게 만들고 동일한 인터페이스의 여러 구현에 대해 작성해야 할 단위 테스트 수를 줄이는 것입니다.Java에서 인터페이스에 불변량 추가
프로그래머가 작성하는 불변량을 사용하여 메소드에 주석을 추가하는 몇 가지 방법을 만듭니다. E.G.
interface Sort {
int [] sort(int [] nums);
}
는 모든 구현은 정렬 된 목록을 반환 할 수 있도록 주석 장식 될 것이다. 이 주석은 모든 구현에 대해 컴파일 타임에 실행될 수있는 단위 테스트와 연결됩니다.
이것은 미친 아이디어입니까, 아니면 더 광범위한 프로그래밍 커뮤니티에 유용할까요?
단위 테스트를 연결하는 것이 컴파일 타임 동안 좋은 방법인지 확실하지 않습니다. _ 시험이 통과 되었기 때문에 무언가를 알았습니까? 애스펙트 위버를 사용하는 것이 더 나은 방법 일 수 있습니다. (다음 질문은 성능이 될 것입니다.) – yclian
@yclian, 저는 생각합니다. 이러한 생각은 순서와 순서로 쓰여질 필요가있는 단위 테스트의 수를 줄이기 위해 다양한 정적 분석을 수행하기 위해 사전 조건과 사후 조건을 사용하는 것이라고 생각합니다. 동등한 적용 범위를 얻을 수 있습니다. 정적 분석이 안전하다고 증명할 수 없다는 진술을 보호하기 위해 런타임 어설 션을 사용할 수는 있지만 실행 시간이 될 것이라는 암시는 전혀 볼 수 없었습니다. – Gian