2 min read

goodpractice - Conseils de développement de vos packages

L’objectif de ce document est de présenter le package goodpractice, package permettant de contrôler la structure et le style de votre package suivant de “bonnes pratiques” de codage.

https://cran.r-project.org/web/packages/goodpractice/index.html

Package goodpractice

Goodpractice est un package disponible sur le CRAN et github, développé par Gabor Csardi (le créateur de igraph, entre autres…) et Hannah Frick. Il permet de vérifier la structure, la syntaxe, la complexité du codage d’un package en cours de développement.

Il est bien évident qu’il n’est pas obligatoire de tout prendre pour argent comptant mais j’ai trouvé que ça donnait de bons conseils globalement. Super rapide, on peut voir très facilement où améliorer notre package.

Il peut être utilisé également comme critère supplémentaire dans l’évaluation d’un package que l’on souhaite tester.

Je l’ai maintenant intégré dans ma procédure de développement de package R que je souhaite déposer sur le CRAN, Bioconductor ou RopenSci.

découverte de goodpractice dans le guide de développement de package de ROpenSci:

Installation

install.packages("goodpractice")

Usage

library(goodpractice)
gp("<chemin_vers_mon_package/mon-package>")

Session Informations

## R version 4.1.2 (2021-11-01)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19044)
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252   
## [3] LC_MONETARY=French_France.1252 LC_NUMERIC=C                  
## [5] LC_TIME=French_France.1252    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## loaded via a namespace (and not attached):
##  [1] bookdown_0.24   digest_0.6.29   R6_2.5.1        jsonlite_1.8.0 
##  [5] magrittr_2.0.1  evaluate_0.14   blogdown_1.7    stringi_1.7.6  
##  [9] rlang_0.4.12    jquerylib_0.1.4 bslib_0.3.1     rmarkdown_2.11 
## [13] tools_4.1.2     stringr_1.4.0   xfun_0.29       yaml_2.2.1     
## [17] fastmap_1.1.0   compiler_4.1.2  htmltools_0.5.2 knitr_1.37     
## [21] sass_0.4.0