More infos on dev

This commit is contained in:
Emmanuel Viennet 2021-01-24 21:08:18 +01:00
parent eeff51521f
commit c52bd8eaa5

View File

@ -2,18 +2,43 @@
Quelques conseils, indications et mémos pour les développeurs sur ScoDoc version 7.x. Quelques conseils, indications et mémos pour les développeurs sur ScoDoc version 7.x.
### Style et formatage du code ## Style et formatage du code
L'ancienneté de la base de code a rendu le style peu cohérent. 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). Le code doit être formatté avec [`black`](https://black.readthedocs.io/) avant tout commit (configurez votre éditeur pour appeler `black` à l'enregistrement).
### Git ### Documentation
On adopte le style "Google": <https://google.github.io/styleguide/pyguide.html#383-functions-and-methods>
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 <https://scodoc.org/git/viennet/ScoDoc> Le dépot est <https://scodoc.org/git/viennet/ScoDoc>
La branche `master` est celle en production. La branche `Scodoc8`est expérimentale (nouvel installeur, refactoring...). ScoDoc9 sera avec Python 3. La branche `master` est celle en production. La branche `Scodoc8`est expérimentale (nouvel installeur, refactoring...). ScoDoc9 sera avec Python 3.
#### Hot fixes (internes) ### Hot fixes (internes)
Pour les développeurs internes (écriture sur le dépot master): Pour les développeurs internes (écriture sur le dépot master):
@ -32,14 +57,26 @@ Pour les développeurs internes (écriture sur le dépot master):
# éventuellement: git stash pop # éventuellement: git stash pop
#### Mettre à jour votre branche ### Mettre à jour votre branche
Vous travaillez dans votre branche `ma_branche`. Pour lui appliquer les mises à jour de `master`: Vous travaillez dans votre branche `ma_branche`. Pour lui appliquer les mises à jour de `master` (remote):
git pull origin master git pull origin master
### Commandes utiles, en vrac
* `git log -L:fonction_python:fichier.py`
### Refactoring ### Refactoring
pylint --disable=all -e E sco_parcours_dut.py | grep undefined-variable | awk '{print $4;}' | sort | uniq | tr -d \' 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