Wave Source
EN | KO

<- 이전

Rust 가이드

이 문서는 Wave 프로젝트에서 Rust를 사용할 때의 규칙을 정의한다.

Rust는 Wave가 셀프호스팅(Self-hosting)되기 전 단계에서 사용되는 구현 언어이다. 셀프호스팅이 완료된 이후에도 이 문서는 참고 문서로서 유효하지만, 실질적인 Wave 컴파일러 구현은 Rust로 작성되지 않게 된다.

Rust 버전 및 에디션

Wave 컴파일러는 반드시 다음 조건을 만족해야 한다.

특정 최신 기능이나 실험적 기능에 의존해서는 안 된다.

네이밍 규칙

네이밍 규칙은 Rust 공식 네이밍 규칙을 그대로 따른다.

파일 및 모듈 크기

하나의 Rust 소스 파일이 5,000줄을 초과할 경우,
반드시 모듈 단위로 분리해야 한다.

과도하게 큰 파일은 유지보수성과 가독성을 심각하게 저하시킨다.

타입 추론

Rust의 타입 추론은 기본적으로 허용한다.

다만 다음 경우에는 타입을 명시적으로 선언해야 한다.

매크로 사용 규칙

Wave 컴파일러 코드에서는 사용자 정의 매크로를 사용하지 않는다.

다만 다음과 같은 Rust 표준 매크로는 예외적으로 허용한다.

매크로 남용은 코드 추적을 어렵게 하며, 컴파일러 코드에서는 특히 지양해야 한다.

라이브러리 사용 규칙

기본적으로 Rust 표준 라이브러리를 사용하여 개발한다.

다음 규칙을 따른다.

불필요한 의존성 추가는 Wave 컴파일러의 장기 유지보수에 악영향을 준다.

코드 스타일

기본 코드 스타일은 K&R 스타일을 따른다.

다만 where 키워드를 사용하는 등, 가독성을 위해 불가피한 경우에는 예외를 허용할 수 있다.

주석 규칙

다음 조건에 해당하는 함수는 반드시 주석으로 설명해야 한다.

주석은 반드시 영어로 작성해야 한다.