Czy istnieje standardowy zasób społeczności R, który umożliwia aktualizowanie znanych błędów i poprawek pakietów? Moje obecne podejście jest raczej ręczne. (Uwaga: ograniczam to do CRAN - patrz Uwaga 1.)Jak być na bieżąco ze znanymi błędami i poprawkami w pakietach R?
Mój przypadek użycia to w zasadzie nadzór błędów i zarządzanie aktualizacjami pakietów. Co miesiąc uśredniam kilka odkryć błędów (które zgłosiłem autorom ;-)). Ponieważ wiele pracy wykonuję na maszynach wirtualnych, staram się aktualizować obrazy maszyn wirtualnych, gdy mam dobrą obsługę statusu błędu dla potrzebnych pakietów. Po naprawieniu kilku błędów mogę usunąć moje obejścia, co jest świetne i aktualizuję obrazy. Kiedy odkrywam ognisko błędów, nie tworzę nowego obrazu.
Oto źródła obecnie używam:
- NEWS pliki: Wiele, ale nie wszystkie pakiety mają pliki News. To z pewnością pomocne miejsce na rozpoczęcie.
- Strona główna pakietu: Niektóre pakiety nie mają pliku NEWS w systemie CRAN, ale osobno publikują dziennik zmian na stronie autora.
- R project gospodarzem listy mailingowe
- Google Groups dla pakietów
- osobista komunikacja z autorami pakietu
- śledzenia błędów dla pakietów (np deweloper może korzystać Bugzilla)
Jest jedna rzecz, aby być pierwszy, który odkrył błąd (zapewniam, że błędy przytrafiają się nam wszystkim), to kolejny, który z opóźnieniem odkrywa błąd, który jest albo już znany, albo, jeszcze lepiej, już naprawiony. Oba spowalniają moje własne kodowanie, ale lepszy nadzór błędów (może potrzebujemy pakietu cdc4R
:)) znacznie zmniejszyłby wpływ. Bez standardowego systemu powiadamiania o aktualizacjach (np. Rozszerzenie do update.packages()
, które zgłasza, które pakiety mogą być aktualizowane, oraz linki do informacji o tym, co zostało zmienione), zadaniem użytkownika jest znalezienie tych informacji.
Jako użytkownik, starając się znaleźć tę informację, czy istnieje jakiś standardowy zasób, którego przeoczyłem na powyższej liście? Na przykład, czy istnieje lista mailingowa R, w której programiści często publikują swoje zmiany i poprawki błędów? A może jest strona, która agreguje takie posty, testy postów (wydaje się, że wydaje się komunikaty CRAN R CMD CHECK
), lub które dają inne opinie?
Kilka dodatkowych notatek na innych zasobów, na rzecz innych osób:
- widzę, że CRANberries ma zwięzłą
diff
podsumowanie na opakowaniach, co jest dla mnie nowe. (Jestem zainspirowany do rozważenia grep dlabug
lubfix
w wyjściu diff.) bug.report()
w R jest dobrym sposobem na wysłanie wiadomości do R Core lub adresu e-mail opiekuna pakietu.- Kilka pakietów testowych do rozważenia to:
testthat
,RUnit
isvUnit
. - Mój osobisty "szybki test" polega po prostu na użyciu
digest
, aby sprawdzić, czy wyniki są zgodne, bez konieczności testowania równości bardzo dużych obiektów.
Uwaga 1: jestem tagging to cran bo to niemożliwe, aby zarządzać wszechświat wszystkich pakietów R. Dla indywidualnego autora paczki można rozprowadzać paczkę w dowolnym miejscu, korzystać z dowolnej listy mailingowej lub systemu śledzenia błędów, który im się podoba, itp. Jednak poza "głównym nurtem" dla R. Zostałem zwolniony z pakietu i ostrzec użytkowników do zmian, błędów, poprawek, chodziłem z CRAN + NEWS + Bugzilla + Grupy Google + R-Forge (i/lub RForge), itp., ale czy istnieje inny standardowy mechanizm raportowania, którego brakuje na tej liście?
W pewnym sensie ta uwaga służy również zapytaniu, czy istnieje mechanizm zachęcający deweloperów do używania. Podejrzewam, że nie ma standardu, ponieważ pakiety członków R Core wydają się robić wiele różnych rzeczy dotyczących zgłaszania błędów i zmian.
Uwaga 2: Dodaję także administration (chociaż coś innego może być bardziej odpowiednie), ponieważ dotyczy to również podawania R. W celu zapewnienia powtarzalności podawanie opakowań jest bardzo ważne; gdy jest wielu użytkowników lub więcej ruchomych elementów, zachowanie błędów i poprawek staje się zadaniem administracyjnym, a także ważnym czynnikiem rozwoju, który zależy od pakietów zewnętrznych. Jeśli inny tag, np. system-administration jest bardziej odpowiedni, jestem otwarty na zmianę.
to powinno być jakoś cechą CRAN, nie powinno być? CRAN musi wiedzieć o aktualizacjach, więc uważam, że powinien mieć dla nich kanał RSS! Umieść żądanie funkcji na CRAN! Czy też problemem jest rozróżnienie, czy aktualizacja zawiera poprawki błędów, czy nie? – TMS
@ Tomek Jestem zainteresowany błędami; łatwo jest sprawdzić, czy pakiety zostały zaktualizowane. Błędy to inna sprawa i wymagają uwagi: mogę zaktualizować ją do nowszej wersji, powrócić do wcześniejszej wersji lub obejść je, jeśli wpłyną na moją pracę. Inne zmiany w kodzie, takie jak wydajność lub zmiany interfejsu, wymagają mniejszej uwagi w już działającym systemie. – Iterator
Nie sądzę, że przegapiłeś coś ważnego. Używam github do wszystkich moich pakietów, więc problemy z NEWS + github są najlepszymi miejscami do patrzenia. – hadley