Skip to content

[API] Surface d'export à assainir et contradictions NEWS : %||% ré-exporté, défaut lang="fr" non documenté, exports sans usage documenté #26

Description

@VincentGuyader

Contexte

Plusieurs écarts entre le NEWS, la doc et le code, vérifiés dans l'historique git :

  1. %||% : NEWS 0.4.4 affirme « no longer exported to avoid namespace conflicts with rlang » — et le commit de release 0.4.4 (099544a) l'avait bien dé-exporté. Le commit suivant « Perf (Perf #1) » (d98ae33) a ré-introduit @export + export("%||%") sans entrée NEWS, et test-utils.R:8-10 verrouille même l'export. Le NEWS et le test affirment donc le contraire l'un de l'autre. L'export masque rlang::%||% et base::%||% (R ≥ 4.4) au chargement.
  2. Langue par défaut : NEWS 0.4.4 annonce le passage à "en"/"en_US" ; le même commit « Perf (Perf #1) » l'a re-basculée à "fr"/"fr_FR" sans entrée NEWS (code actuel : lang = "fr"). La vignette §14 affirme « By default, pointblank reports are rendered in English » — faux. Ni le README ni la vignette ne signalent le défaut réel.
  3. Label franglais : NEWS 0.4.4 annonce la correction du préfixe « comparaison » → « comparison » dans write_rules_template(), mais le code génère toujours paste("comparaison", ...).
  4. Exports sans usage documenté : normalize_text, validate_row_counts, setup_pointblank_agent n'apparaissent ni dans le README ni dans la vignette (grep vide) — candidats à l'internalisation. Le noyau utilisateur réel tient en ~6 fonctions (compare_datasets_from_yaml, write_rules_template, read_rules, datadiff_report_html, analyze_columns, add_tolerance_columns pour le debug).

Reprex

library(rlang)
library(datadiff)
#> Attachement du package : 'datadiff'
#> L'objet suivant est masqué depuis 'package:rlang' : %||%

formals(datadiff::compare_datasets_from_yaml)$lang   # "fr" — la vignette dit "en"

Critères de succès

  • Décision tranchée et documentée dans NEWS pour chacun : %||% (proposition : ré-internaliser, conforme au NEWS 0.4.4), défaut lang (garder "fr" et corriger vignette/README, ou passer à "en" comme annoncé), label « comparaison ».
  • test-utils.R aligné sur la décision (plus de test verrouillant un export contredit par le NEWS).
  • Exports sans usage documenté : internalisés avec cycle de dépréciation, ou documentés dans la vignette avec un cas d'usage réel.
  • library(datadiff) après library(rlang) ne masque plus aucun objet (si internalisation retenue).

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