2012-02-16 3 views
15

알려진 버그 또는 패키지 버그 수정에 대한 최신 정보를 제공하는 표준 R 커뮤니티 리소스가 있습니까? 현재 나의 접근 방식은 다소 수동적이다. (NB : 이것을 CRAN으로 제한하고 있습니다 - 주 1 참조)R 패키지의 알려진 버그 및 버그 수정을 유지하는 방법은 무엇입니까?

내 사용 사례는 기본적으로 버그 감시 및 패키지 업데이트 관리입니다. 나는 매달 두어 번의 버그 발견을 평균적으로 해왔다. (나는 정식으로 저자들에게보고한다 ;-)). 많은 작업이 가상 머신으로 이루어지기 때문에 필자는 필요한 패키지의 버그 상태를 잘 처리 할 때 VM 이미지를 업데이트하는 경향이 있습니다. 버그가 고쳐지면 해결 방법을 제거 할 수 있습니다. 이미지가 업데이트됩니다. 버그가 발견되면 새로운 이미지를 만들지 않습니다. 패키지 NEWS 파일이, 전부는 아니지만 많은 :

  • NEWS 파일 :

    다음은 내가 현재 사용하고 소스입니다. 이것들은 확실하게 도움이되는 곳입니다.

  • 패키지 홈 페이지 : 일부 패키지에는 CRAN에 NEWS 파일이 없지만 작성자 사이트에 별도로 변경 로그가 게시됩니다. 패키지에 대한 패키지
  • R 프로젝트 호스팅 메일 링리스트
  • Google 그룹은 패키지 저자와
  • 개인 통신
  • 버그 추적 (예를 들어 개발자가 버그 질라를 사용할 수 있습니다)

그것은 될 수있는 한 가지입니다 버그를 발견 한 첫 번째 사람 (내가 버그가 우리 모두에게 일어난다는 것을 인정함). 이미 알려 졌거나 더 나은 아직 이미 고쳐진 버그를 뒤늦게 발견하는 또 다른 문제입니다. 둘 다 내 자신의 코딩 속도를 늦추지 만 더 나은 버그 감시 (어쩌면 우리는 cdc4R 패키지가 필요하다)는 영향을 크게 줄인다. 표준 업데이트 알림 시스템이 없으면 (예 : 의 확장 프로그램을 사용하여 업데이트 할 수있는 패키지를보고하고 변경된 사항에 대한 정보에 대한 링크)이 정보를 찾는 것은 사용자의 작업입니다.

이 사용자는이 정보를 찾으려고 노력하면서 위의 목록에서 간과 한 표준 리소스가 있습니까? 예를 들어 개발자가 변경 사항 및 버그 수정을 게시하는 것이 일반적 인 R 메일 링리스트가 있습니까? 아니면 그러한 게시물을 집계하는 사이트, 게시물 테스트 (크랭크 포스트 R CMD CHECK 출력, 그럴 것 같습니다) 또는 다른 피드백을주는 사이트가 있습니까? 다른 사람의 이익을 위해 다른 자원에 대한


몇 가지 추가 참고 사항 :

  • 나는 CRANberries 나에게 새로운 패키지에 대한 간결한 diff 요약을 가지고 것을 알 수있다. (diff 출력에서 ​​bug 또는 fix의 grep을 고려해야합니다.)
  • 은 R 코어 또는 패키지 관리자의 전자 메일 주소로 메시지를 보내는 좋은 방법입니다.
  • 고려해야 할 몇 가지 테스트 패키지는 testthat, RUnitsvUnit입니다.
  • 개인적인 "빠른 테스트"는 매우 큰 개체의 동일성을 테스트 할 필요없이 결과가 일치하는지 확인하기 위해 digest을 단순히 사용하는 것입니다.

주 1 :이 모든 R 패키지의 우주를 관리하는 것은 불가능하기 때문에이 에 태그를 지정하고 있습니다. 개별 패키지 작성자는 패키지를 배포 할 수 있으며 원하는 메일 링리스트 나 버그 추적 시스템을 사용할 수 있습니다. 그러나 이는 R의 "주류"밖에 있습니다. 패키지를 릴리스하고 사용자에게 경고를 보내야합니까? 변경, 버그, 버그 수정, CRAN + NEWS + Bugzilla + Google 그룹스 + R-Forge (및/또는 RForge) 등으로 이동 하겠지만이 목록에는없는 또 다른 표준보고 메커니즘이 있습니까?

이 메모는 개발자가 사용하도록 권장되는 메커니즘이 있는지 묻는 역할을합니다. R 핵심 멤버의 패키지가 버그 및 변경보고와 관련하여 여러 가지 일을하는 것 같기 때문에 표준이 없다고 생각합니다.

참고 2 : 나는 또한 을 추가합니다 (다른 것이 더 유용 할지라도). 이는 R 관리와 관련되기 때문에입니다. 재현성을 위해 패키지 관리가 매우 중요합니다. 여러 명의 사용자 또는 움직이는 조각이있는 경우 버그 및 수정 사항을 파악하는 것이 관리 작업이 될뿐만 아니라 외부 패키지에 의존하는 개발을위한 중요한 고려 사항이됩니다. 다른 태그 (예 : 이 더 적절합니다. 저는 변화를 열어두고 있습니다.

+1

이것은 어떻게 든 CRAN의 기능 일 것입니다. CRAN은 업데이트에 대해 알고 있어야하므로 RSS 채널이 있어야한다고 생각합니다! CRAN에 기능 요청을 배치하십시오! 또는 업데이트에 버그 수정이 포함되어 있는지 여부를 구별하는 데 문제가 있습니까? – TMS

+0

@Tomas 나는 버그에 관심이있다; 패키지가 업데이트되었는지 쉽게 확인할 수 있습니다. 버그는 다른 문제이며주의해야합니다. 내 작업에 영향을주는 경우 최신 버전으로 업데이트하거나, 이전 버전으로 되돌 리거나, 해결할 수 있습니다. 성능이나 인터페이스 변경과 같은 코드의 다른 변경 사항은 이미 작동중인 시스템에서 즉각적인주의를 덜 필요로합니다. – Iterator

+0

전 당신이 중대한 것을 놓친 것 같지 않습니다. 모든 패키지에 github을 사용하므로 NEWS + github 문제가 가장 좋은 곳입니다. – hadley

답변

3

완전한 대답은 아니지만 여기에 몇 가지 생각이 있습니다.

data.table의 경우 버그 (기능 요청) on R-Forge here을 추적합니다. 나는 당신이 거기에서 호스팅되는 모든 패키지에 대해 R-Forge의 트래커 (프로그램 적으로)를 쿼리 할 수 ​​있다고 상상한다. 귀하의 목록에 어쨌든 추가하려면. 해당 웹 추적 프로그램은 bug.report(package="data.table")이 가리키는 곳입니다 (관리자에게 보낼 이메일 주소가 아닙니다).

또한 누구나 <pkgname>[email protected] 메일 링리스트에 가입하여 R-Forge의 각 프로젝트에 대해 통합 된 diff 및 커밋 메시지 (커밋 시점)를 수신 할 수 있습니다. 나는 R-Forge 프로젝트에 대한 커밋에 걸친 일반적인 메일 링리스트를 알지 못한다.

?data.table의 맨 위에는 up to the minute NEWS에 대한 링크가 있습니다. 이는 업그레이드 할 때 최신 버전 및 개발중인 버전을 사용자에게 알려주는 방식입니다. 이 링크는 실시간으로 업데이트됩니다. 즉, "분까지"는 말 그대로 의미합니다. 그러나, 그들은 거기에서 점검해야한다!

+0

프로젝트에서 전자 메일을 사용하도록 설정해야하지만 그렇지 않습니다. 나는 이것이 모든 단일 R-Forge 프로젝트에 적용된다고 생각하지 않습니다. 하지만 어쩌면 그 변화가 ... –

+0

@Dirk 나는 커밋이 기본적으로 만들어 졌다고 생각하지만 프로젝트 관리자는 그것을 꺼버릴 수도있다. 나는 누구도 자동 가입하지 않는다고 생각한다.따라서 아무도 구독하지 않은 프로젝트의 경우에는 메시지를 보내지 않으므로 아카이브는 첫 번째 구독 후에 첫 번째 커밋까지 빌드되지 않습니다. 그냥 추측 해. –

+0

제안 해 주셔서 감사합니다! 'data.table'의 개발과보고 및 변경 관리가 훌륭하고 감사하게 생각합니다. 그것은 당신이 사용하는보고 및 추적 시설과 함께 제가 의존하는 패키지 중 하나입니다. 나는 다른 패키지에서 같은 리소스를 가지고 있지 않다는 것을 깨달았고 나의 목적에 어떻게 대처할 수 있는지 궁금해했습니다. – Iterator