레거시 코드베이스 문서화
레거시 코드 기반으로 스카우트 규칙 을 따르는 것이 좋습니다 . 기존 프로젝트와 독립적으로 레거시 프로젝트를 문서화하는 것은 결코 일어나지 않을 것입니다.
코드 내 문서
가장 중요한 것은 선택한 개발 환경에서 문서화 기능을 사용하는 것입니다. 따라서 파이썬 용 pydoc , Java의 javadoc 또는 C #의 xml 주석 을 의미합니다. 이를 통해 코드 작성과 동시에 문서를 쉽게 작성할 수 있습니다.
나중에 돌아와서 문서를 작성하는 데 의존한다면, 그 문제를 해결하지 못할 수도 있지만 코드를 작성하면서 코드를 작성하면 문서화해야 할 것이 마음에 새겨질 것입니다. C #에는 XML 문서가 불완전하거나 실제 코드와 일치하지 않는 경우 컴파일 경고를 발행 할 수도 있습니다.
문서로 테스트
또 다른 중요한 측면은 통합 및 단위 테스트가 우수하다는 것입니다.
종종 문서는 클래스와 메소드가 독립적으로 수행하는 작업에 중점을 두어 문제 해결을 위해 함께 사용되는 방법을 건너 뜁니다. 테스트는 종종 서로 상호 작용하는 방식을 보여줌으로써 상황에 맞게 배치합니다.
유사하게, 단위 테스트는 종종 외부 의존성을 지적하여 어떤 것들을 모의해야하는지 명시 적으로 지적합니다.
또한 테스트 중심 개발 을 사용하면 go라는 단어에서 바로 사용하기 때문에 사용하기 쉬운 소프트웨어를 작성 한다는 것을 알았습니다. 좋은 테스트 프레임 워크를 사용하면 코드를 쉽게 테스트하고 사용하기 쉽게 만드는 것이 종종 같은 일입니다.
더 높은 수준의 문서
마지막으로 시스템 레벨 및 아키텍처 문서에 대해 수행 할 작업이 있습니다. 많은 사람들이 위키에서 문서를 작성하거나 Word 또는 다른 워드 프로세서를 사용하는 것을 옹호 할 것이지만, 나에게 그러한 문서를위한 가장 좋은 장소는 코드와 함께 버전 관리 시스템 친화적 인 일반 텍스트 형식입니다.
코드 내 문서와 마찬가지로 상위 수준의 문서를 코드 저장소에 저장하면 최신 상태로 유지할 가능성이 높습니다. 또한 코드의 버전 XY를 가져올 때 설명서의 버전 XY도 얻을 수 있다는 이점이 있습니다. 또한 VCS 친화적 형식을 사용하는 경우 코드와 마찬가지로 분기, 확산 및 병합이 쉽다는 것을 의미합니다.
html 페이지와 pdf 문서를 쉽게 생성 할 수 있고 LaTeX 보다 훨씬 친숙 하지만 여전히 필요할 때 LaTeX 수학 표현식을 포함시킬 수 있기 때문에 나는 rst를 매우 좋아 합니다.