저는 현재 테스트 주도 개발 방법론을 사용하여 하스켈 프로젝트를 수행하려고합니다. Java에서는 src 및 bin 폴더가 포함 된 멋지게 구조화 된 프로젝트를 만들 수 있습니다. 그런 다음 JUnit을 사용하여 유닛 테스트를위한 기본 및 테스트 폴더가 있습니다. 하스켈에서 그런 구조를 만드는 표준 방법이 있는지 궁금한가요? 바이너리를위한 폴더를위한 폴더와 소스 폴더에있는 하나의 폴더를 테스트하기위한 폴더 두 개의 폴더.하스켈 프로젝트를 구조화하는 방법은 무엇입니까?
30
A
답변
2
이것에 현대적인 대답은사용. 이것은 정상적인 기본값을 사용하여 프로젝트를 구조화합니다.
24
내 참조는 보통 Structure of a Haskell project 및 How to write a Haskell program이며 커뮤니티가 어느 정도 따라야 할 몇 가지 기본값을 설명합니다. 지금까지는 잘 작동했지만 프로젝트는 아직 큰 성과를 거두지 못했습니다.
Structure of a Haskell project에서 제안하는 내용은 테스트 폴더가 src 폴더와 같은 디렉토리에있는 것처럼 몇 가지 사소한 수정 사항을 사용하여 게시물에 윤곽을 그렸습니다.
편집 : 당신이 적어도 수입이있는 모든 파일이있는 경우
cabal init
당신이 관련 종속성이있는 도당 파일을 포함하기위한 최소한의 금액을 생성합니다. 그것은 훌륭한 시작이지만 당신이 찾고있는 부분 일뿐입니다.
프로젝트가 확장됨에 따라 카발 파일과 디렉토리 계층 구조가 자동으로 최신 상태로 유지되는 것이 이상적이지만,이 작업을 수행 할 수있는 모든 도구를 알지 못합니다. 그것은 아마 다른 많은 사람들을위한 것이므로 아마 하루 목록에 있습니다.
-odir
및 -hidir
은 ghc와 함께 사용하여 * .o 및 * .hi 파일을 별도의 디렉토리에 넣을 수 있습니다. 당신은 더
Edit2가) GHC user guide's section on separate compilation에서 읽을 수 있습니다
기타 관련/중복 게시물 :
관련 문제
- 1. 큰 프로젝트를 Angular2로 구조화하는 방법은 무엇입니까?
- 2. Jquery/Html 프로젝트를 구조화하는 방법은 무엇입니까?
- 3. cmake를 사용하여 내 C++ 프로젝트를 구조화하는 올바른 방법은 무엇입니까?
- 4. Node.js HTTP REST APi 프로젝트를 구조화하는 방법은 무엇입니까?
- 5. Codeigniter에서 컨트롤러를 구조화하는 방법은 무엇입니까?
- 6. models.py를 구조화하는 올바른 방법은 무엇입니까?
- 7. 데이터베이스를 다형성으로 구조화하는 방법은 무엇입니까?
- 8. 함수를 올바르게 구조화하는 방법은 무엇입니까?
- 9. backbone.js로 URL을 구조화하는 방법은 무엇입니까?
- 10. 점 광원을 구조화하는 방법은 무엇입니까?
- 11. 데이터베이스 테이블을 구조화하는 방법은 무엇입니까?
- 12. 이 XML을 구조화하는 방법은 무엇입니까?
- 13. 대형 OpenCL 커널을 구조화하는 방법은 무엇입니까?
- 14. 아주 작은 Django 프로젝트를 구조화하는 방법?
- 15. 자바 코드를 올바르게 구조화하는 방법은 무엇입니까?
- 16. django에서 프로젝트 디렉토리를 구조화하는 방법은 무엇입니까?
- 17. Spray.io를 사용하여 RESTful API를 구조화하는 방법은 무엇입니까?
- 18. 노드 모듈 내에서 클래스를 구조화하는 방법은 무엇입니까?
- 19. Spring 애플리케이션에서 레이어와 책임을 구조화하는 방법은 무엇입니까?
- 20. 기본 중첩 리소스를 구조화하는 방법은 무엇입니까?
- 21. C# 클래스 라이브러리를 구조화하는 방법은 무엇입니까?
- 22. REST 리소스 계층을 구조화하는 방법은 무엇입니까?
- 23. Vimeo API에서 '리뷰 링크'요청을 구조화하는 방법은 무엇입니까?
- 24. 스위프트를 사용하여 컨트롤러를 구조화하는 방법은 무엇입니까?
- 25. 자바 스크립트 파일을 구조화하는 방법은 무엇입니까?
- 26. 이 클래스의 가시성을 올바르게 구조화하는 방법은 무엇입니까?
- 27. wit.ai 의도를 올바르게 구조화하는 방법은 무엇입니까?
- 28. 이 RavenDB 문서의 모델을 구조화하는 방법은 무엇입니까?
- 29. SEO 용 이미지 디렉토리를 구조화하는 방법은 무엇입니까?
- 30. 몽구스에서 다 대다 관계를 구조화하는 방법은 무엇입니까?
답장을 보내 주셔서 감사합니다. 자바에서는 자동으로 필요한 모든 폴더를 생성하기 위해 maven을 사용할 수 있습니다. "rails new ProjectName"명령은 동일한 작업을 수행 할 것입니다. 일반적인 작업이므로 생각하고있을 것입니다. 아마도 Haskell에서 일부 명령이있을 수 있습니다. 그거야. – HHC
또한 ghc를 사용하여 .hs 파일을 컴파일 할 때 가장 좋은 컴파일 방법은 .hs 파일을 다른 폴더에있는 모든 중간 파일 (.o .hi 등)과 아직 실행 파일 다른 폴더? – HHC
서식이 길고 유익하기 때문에 회신에 대한 수정 된 메모입니다. – Davorak