Contexte
Rollup des constats basse sévérité de l'audit (chacun trivial isolément, à traiter en un ou deux PR de ménage) :
Packaging
dev/ versionné et absent de .Rbuildignore → embarqué dans le tarball (NOTE « non-standard top-level directory ») ; dev/bench/perf_issue4.R référence un fichier inexistant (dev/dimensions_tdc_lyon.md) et devtools hors DESCRIPTION.
inst/templates/rules_template.yaml : référencé nulle part (aucun system.file dans le repo) — supprimer ou l'utiliser.
Dépendances/imports
@importFrom dplyr arrange : arrange jamais utilisé ; across/collect importés mais toujours appelés en forme namespacée.
tidyselect en Imports pour un seul all_of (ré-exporté par dplyr) ; stats pour un unique setNames (remplaçable base) ; DBI utilisé dans utils.R sans garde requireNamespace propre (implicite via duckdb).
Code
- Littéraux décimaux illisibles :
0.000000001, 0.00000000000001 → 1e-9, 1e-14.
- Variable de boucle
c masquant base::c (tolerance.R, coverage.R, fast_path.R, compare_datasets_from_yaml.R, pointblank_setup.R).
tolower(x = x) (preprocessing.R) ; duplication de la liste de classes Arrow entre is_non_local() et is_arrow() ; fp_eps recalculé par itération (add_tolerance_columns) ; abs(ref_vals) calculé 2× (compute_tolerance_ok) ; sum(is.na(ok) | !ok) → length(ok) - sum(ok, na.rm = TRUE) (2× plus rapide, 0 alloc).
format_key_examples() : formate toutes les clés avant de tronquer à 3 ; padding as.matrix sur clés mixtes.
add_diff_columns() : param na_equal sans effet sur la sortie (doc à préciser) ; squelette boucle+list2DF+cbind dupliqué 3× dans tolerance.R (composer add_ok_columns + add_diff_columns dans add_tolerance_columns).
preprocess_dataframe() lazy : 1-2 mutate() par colonne normalisée (anti-pattern O(colonnes) dbplyr éliminé ailleurs en 0.4.8) ; branche Arrow morte sur le pipeline principal (conversion DuckDB en amont).
- Rapport gt construit même en session non interactive dans
print.datadiff_report ; overflow integer possible dans compute_tolerance_col sur colonnes integer (documenter ou caster).
get_col_names() : fallback names(x) inatteignable dans le package.
Critères de succès
Contexte
Rollup des constats basse sévérité de l'audit (chacun trivial isolément, à traiter en un ou deux PR de ménage) :
Packaging
dev/versionné et absent de.Rbuildignore→ embarqué dans le tarball (NOTE « non-standard top-level directory ») ;dev/bench/perf_issue4.Rréférence un fichier inexistant (dev/dimensions_tdc_lyon.md) etdevtoolshors DESCRIPTION.inst/templates/rules_template.yaml: référencé nulle part (aucunsystem.filedans le repo) — supprimer ou l'utiliser.Dépendances/imports
@importFrom dplyr arrange:arrangejamais utilisé ;across/collectimportés mais toujours appelés en forme namespacée.tidyselecten Imports pour un seulall_of(ré-exporté par dplyr) ;statspour un uniquesetNames(remplaçable base) ;DBIutilisé dans utils.R sans garderequireNamespacepropre (implicite via duckdb).Code
0.000000001,0.00000000000001→1e-9,1e-14.cmasquantbase::c(tolerance.R, coverage.R, fast_path.R, compare_datasets_from_yaml.R, pointblank_setup.R).tolower(x = x)(preprocessing.R) ; duplication de la liste de classes Arrow entreis_non_local()etis_arrow();fp_epsrecalculé par itération (add_tolerance_columns) ;abs(ref_vals)calculé 2× (compute_tolerance_ok) ;sum(is.na(ok) | !ok)→length(ok) - sum(ok, na.rm = TRUE)(2× plus rapide, 0 alloc).format_key_examples(): formate toutes les clés avant de tronquer à 3 ; paddingas.matrixsur clés mixtes.add_diff_columns(): paramna_equalsans effet sur la sortie (doc à préciser) ; squelette boucle+list2DF+cbinddupliqué 3× dans tolerance.R (composeradd_ok_columns+add_diff_columnsdansadd_tolerance_columns).preprocess_dataframe()lazy : 1-2mutate()par colonne normalisée (anti-pattern O(colonnes) dbplyr éliminé ailleurs en 0.4.8) ; branche Arrow morte sur le pipeline principal (conversion DuckDB en amont).print.datadiff_report; overflow integer possible danscompute_tolerance_colsur colonnes integer (documenter ou caster).get_col_names(): fallbacknames(x)inatteignable dans le package.Critères de succès
R CMD checksans nouvelle NOTE (dev/ ignoré, imports nettoyés, tidyselect/stats retirés si retenu).