Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dette technique #114

Open
victorsalaun opened this issue Jul 7, 2017 · 5 comments
Open

Dette technique #114

victorsalaun opened this issue Jul 7, 2017 · 5 comments

Comments

@victorsalaun
Copy link
Contributor

victorsalaun commented Jul 7, 2017

The project's code need refactoring:

  • remove hard coded lib
  • externalize CSS / fonts / images from app directory
  • use AngularJS specialised files (controller, directive, factory, module, config...) instead of one single js file per functionality
  • lint code (e. g. with jshint)
@Lucas-C
Copy link
Member

Lucas-C commented Oct 29, 2018

In case you remember @victorsalaun, what did you mean by "remove hard coded lib" ? :)
All of the <script> tags in index.html ? cf. https://github.com/voyages-sncf-technologies/hesperides-gui/blob/3.0.3/src/app/index.html#L37

@Lucas-C
Copy link
Member

Lucas-C commented Oct 29, 2018

Aaaah je crois que je vois... src/app/lib/ :(

@victorsalaun
Copy link
Contributor Author

@Lucas-C yes I think it was about this folder

@Lucas-C
Copy link
Member

Lucas-C commented Oct 30, 2018

cf. CR dans RTB pour une rapide étude de la dette technique sur ce projet, complémentant ce qui a déjà été listé ici

Lorsqu'on adressera le sujet, il faudra découper cette issue en plusieurs sous-tâches

@Lucas-C Lucas-C changed the title Refactor code Dette technique Oct 30, 2018
@Lucas-C
Copy link
Member

Lucas-C commented Apr 19, 2019

Je reporte le bilan fait dans RTB fin octobre dernier, priorisé "à la louche" par moi du plus au moins critique :

  • rétablir tests e2e d’intégration avec le backend
  • mesurer la couverture de code
  • utilisation de bower qui est déprécié : https://bower.io/blog/2017/how-to-migrate-away-from-bower/
  • gestion des libs JS versionnées dans le repo git dans src/app/lib + libs vieilles, pas à jour, ex: angular-material
  • utilisation de https://github.com/stidiovip/hesperides-datetime-picker sur lequel nous n'avons pas les droits
  • pas de linter (ex : eslint) en place
  • CSS non découpé en composants, et aucune convention de nommage en place (OOCSS / SMACSS / BEM)
  • plus long fichier source : >2500 lignes de code JS (properties.js) -> solution : sortir les factory Angular de ce fichier (et même faire ça globalement) -> rétablir et se baser sur le check eslint "angular/file-name" pour mieux découper le code
  • gestion i18n à revoir pour les erreurs backend
  • certaines parties sont désormais inutile et devrait être supprimées : Nexus / getNdl + Swagger
  • utilisation de jQuery en parallèle d'Angular, et de lodash + underscore ???
  • nous avons 3 versions mineures de retard sur Angular JS
  • remplacer la dépendance http-server-legacy par http-server et établir si on utilise yarn + yan.lock ou npm + package-lock.json cf. Dockerfile#L8
  • fonction globale addFromModel
  • supprimer le ng-switch dans event-modal.html et les directives associées, très redondantes
  • supprimer le config.json par souci de simplification et d'uniformisation : tout les valeurs de configuration pourraient être injectées par l'entrypoint Docker directement dans index.html
  • nettoyer notre utilisation des promesses JS en activant ce plugin eslint:
    "plugins": [... "promise"],
    "extends": [... "plugin:promise/recommended"],
  • avoir un fichier JS dédié par contrôleur / factory
  • il y a beaucoup de code boilerplate dans les fonctions .to_rest_entity -> utiliser Restangular ?
  • boutons de soumission invisibles : grep -lF 'type="submit" id="submit" value="Submit" ng-hide="true"' $(git ls-files src/app)
  • supprimer les fichiers non utilisés (notamment certains fichiers html)
  • tout passer en camelCase
  • supprimer certaines exclusions dans .eslintrc

@Lucas-C Lucas-C added chore and removed enhancement labels May 14, 2019
Lucas-C added a commit that referenced this issue May 27, 2019
…ariables d'environnement + suppression fichiers HTMLs inutiles - wip #114 (#245)
@Lucas-C Lucas-C removed the chore label Oct 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants