ThinkR-open / ThinkR-open/datadiff

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

Open
#34 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
6
Forks
0
PR merge metrics
No merged PRs in 30d

Description

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).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with R CMD check, then inspect .Rbuildignore, DESCRIPTION, dev/, inst/templates/rules_template.yaml, and the R files named in the issue. Work through the listed cleanup points and record any explicitly deferred items. Done means no new check NOTE, the test suite remains green, and user-visible behavior is unchanged except where documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
build-system, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.