2008-09-30 5 views
5

큰 Java 프로젝트에서 글자 프로그래밍 도구 noweb을 사용하는 사람이 있습니까? 여러 소스 코드 파일을 서로 다른 하위 디렉토리에서 생성해야합니까? 어떻게 이걸 너 관리 했어? 거기에 어떤 리소스 및/또는 모범 사례가 있습니까?큰 Java 프로젝트에서 noweb 사용

답변

4

Literate Programming은 생성 된 중간 코드가 디버깅을 허용하고 컴파일러 오류를 분석하기 위해 원본 소스 파일을 다시 가리킬 수있는 경우 가장 효과적입니다. 이는 일반적으로 Java가 지원하지 않는 사전 프로세서 지원을 의미합니다.

또한 Knuth가 적절한 순서로 스 니펫을 함께 넣는 도구를 작성하게 한 엄격한 순차 순서에 대한 원래 필요성이 없기 때문에 Literate Programming은 실제로 Java에서는 필요하지 않습니다. 소위 말하는 프로그래밍의 최종 이점, 즉 코드에 관한 산문을 쓸 수 있다는 점은 Javadoc으로 사용할 수 있습니다. Javadoc을 사용하면 모든 것을 주석으로 처리 할 수 ​​있습니다.

필자에게 자바에 대한 글쓰기 프로그래밍에는 도움이되지 않으며 단지 문제가있다.

특별한 이유가 있으십니까?

+0

downvoters : 나는 실제로 noweb과 함께 실제 프로그램을 만들었습니다. –

+0

그러나 noweb은 JSP 컴파일러 사용법 (JSR-45 - https://jcp.org/en/jsr/detail?id=45에 설명되어 있음)과 동일한 메커니즘을 사용하도록 향상 될 수 있습니다. C에서 제공하는 전 처리기의 동작. Java 6에 추가 된 주석 프로세서 또한 도움이 될 수 있습니다. –

5

Noweb은 현재 작업 디렉토리 또는 지정한 절대 경로를 기준으로 파일을 덤프합니다. 파일 이름 끝에 *를 사용하지 마십시오 (전 처리기 지시문 삽입을 피하기 위해). 나는 당신이 어디에서 정의하고 이름을 사용하는지 보여주기 위해 @와 함께 % def를 사용할 것을 권한다.

<</path/to/file.java>>= 
    reallyImportantVariable += 1; 
@ %def reallyImportantVariable 

noweb은 javac가 이해하지 못하는 코드의 순서를 바꾸고 재사용 할 수있게 해줍니다.

나는 대부분의 사람들이 javadoc을 사용할 것으로 예상하기 때문에 아마 noweb을 사용하기 위해 스트림에 대해 수영하고있을 것이라 생각합니다.

관련 문제