문제

나는 최근 표준 코딩 규칙에 대한 일부 연구의 일환으로 CheckStyle을 조사해 왔습니다. 새로운 프로젝트에 완벽하게 적합한 것처럼 보이지만, 새로운 프로젝트에 대한 새로운 또는 편집 된 코드 만 확인하는 방법을 제공하지 않기 때문에 이미 기존 프로젝트에 대한 채택에 큰 장벽이있는 것 같습니다. 내가 틀렸을까요?

코딩 표준이없는 코드베이스가있는 경우 전체 코드베이스를 한 번에 표준으로 내리는 데 큰 노력을 기울일 수 있습니다. 코드가 자연스럽게 진화함에 따라 시간이 지남에 따라 점차적으로 수행 할 수있게하는 것이 더 합리적인 접근 방식처럼 보입니다. 그러나 CheckStyle의 가능성은 아닙니다.

나는 이것이 가능하기 위해 소스 제어 시스템과 동점이어야한다고 가정합니다. CheckStyle에서 가능합니까 아니면이 기능을 제공 할 수있는 또 다른 도구가 있습니까?

도움이 되었습니까?

해결책

내가 아는 한, CheckStyle은 역사 나 수정을 고려하지 않고 소스를 분석하기위한 것입니다.

이러한 종류의 기능을 추가한다는 것은 스크립트 체크 스타일 분석을 의미하여 델타를 나타내는 정확한 파일의 파일을 제공합니다.

그러나 어떤 종류의 수표가 분석에서 실패하거나 놓칠 수 있습니다. 중복 코드 확인.

따라서 이러한 종류의 점진적인 분석을 위해서는 소스 세트를 제한 할뿐만 아니라 시행하고자하는 규칙 세트를 제한해야합니다. 이러한 규칙 중 일부는 모든 출처에서만 의미가 있습니다.


그렇다면 각 파일에서 전체 확인을 실행 한 다음 소스 제어 시스템에서 관리하는 변경 사항을 기반으로 결과를 필터링 할 수없는 이유는 무엇입니까? 그런 것이 존재합니까?

내 지식이 아니라, 특히 플러그인과 같은 Eclipse-cs Eclipse의 경우 : 파일을 분석하면 소스 컨트롤이 주어진 개정 이후 파일이 변경되지 않았음에도 불구하고 모든 경고를 표시합니다.

외부 스크립트만이 작업을 수행 할 수 있습니다.
원칙은 간단합니다 (실행 시간에 약간 느릴 수 있지만) :

  • 각 파일에 대해 수정이 이루어 졌는지 확인하기 위해 차이를 수행합니다.
  • 경우 예,
    • do a svn blame 마지막 변경 사항이 포함 된 개정 번호로 라인을 주석에 넣습니다.
    • 그런 다음 CheckStyle으로 파일을 분석하십시오.
  • 그런 다음 스크립트는 현재 수정중인 선 (또는 주어진 개정 후 수정 된 모든 라인에 대한 경고를 필터링 할 수 있습니다.

다른 팁

우리는 a CheckStyle 플러그인 ~을 위한 SCM 관리자, GIT, 전복 및 수은 저장소 관리 도구. 활성화되면 CheckStyle 규칙에 대해 커밋 된 소스 코드를 확인할 수 있습니다. 수표가 발견되면 커밋이 중단됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top