[x] manque des listes de méthodes __all__ dans les fichiers
[x] naming des fichiers
=> refactorer pour simplifier. La tradition est d'utiliser un seul nom et d'eviter les majuscules
ex harmonic_Fisher_tools.py => fisher.py
[x] utiliser les imports absolus
exfrom .mixingmatrix import ... => from micmac.mixingmatrix import ...
[x] utiliser des sous-modules pour ordonner le code
ex: jax_Sampling.py + jax_tools.py => jax/sampling.py + jax/tools.py
[x] utiliser des lazy imports si pas nécessaires au fonctionnement classique (camb)
from camb import ... dans la définition des fonctions plutot qu'au début du fichier
[x] utiliser un third-party module pour importer les fonctions de fgbuster
ex: sous-module third_party contenant la license de fgbuster + le code qui t'intéresse
[x] docstrings contiennent un mélange entre Google et Numpy style
=> à mettre à jour (copilot ?)
[ ] ajouter quelques tests pour vérifier que le code tourne toujours peut importe les changements
ex: MCMC et MICMAC_Harm_obj non définis dans Harmonic_likelihood_sampling.py => le code ne marche pas en l'état
Majuscules retirées des noms des fichiers -> A réordonner en sous-modules, le plan est d'avoir
"toolbox" pour statistics, jax_tools, tools, fisher et utils,
"foregrounds" pour templates_spv, customized_models, init_mixing_matrix,
"noise" pour noisecovar (et tous les outils qui viendront à la suite)
peut-être "likelihood" pour jax_sampling_toolbox, harmonic_likelihood_sampling, non_param_sampling (je ne sais pas si les fichiers principaux sont censés être aussi rangés dans des sous-modules)
Probablement besoin d'aide pour correctement ordonner le third-party module de fgbuster et camb (pour être sûr que les lazy imports soient correctement mis en place)
In French..
import *
en dehors du__init__.py
à proscrire__all__
dans les fichiers=> refactorer pour simplifier. La tradition est d'utiliser un seul nom et d'eviter les majuscules ex
harmonic_Fisher_tools.py
=>fisher.py
from .mixingmatrix import ...
=>from micmac.mixingmatrix import ...
jax_Sampling.py
+jax_tools.py
=>jax/sampling.py
+jax/tools.py
from camb import ...
dans la définition des fonctions plutot qu'au début du fichierfgbuster
ex: sous-modulethird_party
contenant la license defgbuster
+ le code qui t'intéresseMCMC
etMICMAC_Harm_obj
non définis dansHarmonic_likelihood_sampling.py
=> le code ne marche pas en l'état