## Développer sur ScoDoc 7 Quelques conseils, indications et mémos pour les développeurs sur ScoDoc version 7.x. ## Style et formatage du code L'ancienneté de la base de code a rendu le style peu cohérent. Le code doit être formatté avec [`black`](https://black.readthedocs.io/) avant tout commit (configurez votre éditeur pour appeler `black` à l'enregistrement). ### Documentation On adopte le style "Google": Exemple: """Description résumée de la fonction blah blah sur la fonction Args: table_handle: An open smalltable.Table instance. keys: A sequence of strings representing the key of each table row to fetch. String keys will be UTF-8 encoded. require_all_keys: Optional; If require_all_keys is True only rows with values set for all keys will be returned. Returns: A dict mapping keys to the corresponding table row data fetched. Each row is represented as a tuple of strings. For example: {b'Serak': ('Rigel VII', 'Preparer'), b'Zim': ('Irk', 'Invader'), b'Lrrr': ('Omicron Persei 8', 'Emperor')} """ ## Git Le dépot est La branche `master` est celle en production. La branche `Scodoc8`est expérimentale (nouvel installeur, refactoring...). ScoDoc9 sera avec Python 3. ### Hot fixes (internes) Pour les développeurs internes (écriture sur le dépot master): # Créer une branche # si besoin (travail en cours), utiliser git stash avant git checkout master git branch hotfix git checkout hotfix ... dev, test ... git add ... git commit -m "fixed ..." git checkout master git merge hotfix git branch -d hotfix # publication # éventuellement: git stash pop ### Mettre à jour votre branche Vous travaillez dans votre branche `ma_branche`. Pour lui appliquer les mises à jour de `master` (remote): git pull origin master ### Commandes utiles, en vrac * `git log -L:fonction_python:fichier.py` ### Refactoring pylint --disable=all -e E sco_parcours_dut.py | grep undefined-variable | awk '{print $4;}' | sort | uniq | tr -d \' Lint tous les fichiers modifiés: git status | grep modified | grep .py | awk '{print $2}' | xargs pylint -E Restore les modes au besoin (SAMBA les changent parfois): git diff -p -R --no-color | grep -E "^(diff|(old|new) mode)" --color=never | git apply ## Portail pour tests TODO