Skip to content

[chore] Ménage : dev/ dans le tarball, inst/templates mort, imports inutilisés, dépendances superflues, scories diverses #34

Description

@VincentGuyader

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.000000000000011e-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

  • R CMD check sans nouvelle NOTE (dev/ ignoré, imports nettoyés, tidyselect/stats retirés si retenu).
  • Chaque point traité ou explicitement écarté (wontfix commenté) dans la PR de ménage.
  • Suite de tests inchangée et verte ; aucun changement de comportement utilisateur (sauf points documentés).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions