Au boulot on utilise yapf, mais je n'étais pas emballé par la config utilisée. J'ai essayé black mais je ne suis vraiment pas convaincu par le formatage. Il ne va pas changer que l'indentation et les retours chariots, mais aussi le type de guillemets utilisé (guillemets doubles partout). C'est bien pour l'homogénéité, mais cela altère plus que juste le formatage. Perso je préfère des lignes courtes avec un paramètre par ligne car cela permet d'avoir des diff minimalistes et faciles à lire, et d'éviter au maximum les conflits. Black va lui au contraire essayer de tout faire tenir sur une ligne.
De son côté, yapf permet de donner des indications sur le formatage, mais c'est toi qui les contrôles.
Par exemple, prendre l'habitude de mettre une virgule après le dernier paramètre d'une liste (de valeurs ou d'arguments) permet aussi de réduire les diff. Ainsi quand on ajoute un nouveau paramètre, le pas besoin de modifier la ligne précédente pour rajouter une virgule. On a un diff propre avec juste une ligne ajoutée correspondant à la valeur ajoutée. Et yapf a la bonne idée de comprendre qu'une virgule sans autre valeur derrière indique que tu préfères un formatage avec un paramètre par ligne.
On est finalement restés sur yapf avec quelques améliorations sur la config.
[^] # Re: Autres astuces non mentionnées dans mon journal
Posté par liberforce (site web personnel, Mastodon) . En réponse au journal Quelques bonnes pratiques Python pour 2019. Évalué à 2.
Au boulot on utilise yapf, mais je n'étais pas emballé par la config utilisée. J'ai essayé black mais je ne suis vraiment pas convaincu par le formatage. Il ne va pas changer que l'indentation et les retours chariots, mais aussi le type de guillemets utilisé (guillemets doubles partout). C'est bien pour l'homogénéité, mais cela altère plus que juste le formatage. Perso je préfère des lignes courtes avec un paramètre par ligne car cela permet d'avoir des diff minimalistes et faciles à lire, et d'éviter au maximum les conflits. Black va lui au contraire essayer de tout faire tenir sur une ligne.
De son côté, yapf permet de donner des indications sur le formatage, mais c'est toi qui les contrôles.
Par exemple, prendre l'habitude de mettre une virgule après le dernier paramètre d'une liste (de valeurs ou d'arguments) permet aussi de réduire les diff. Ainsi quand on ajoute un nouveau paramètre, le pas besoin de modifier la ligne précédente pour rajouter une virgule. On a un diff propre avec juste une ligne ajoutée correspondant à la valeur ajoutée. Et yapf a la bonne idée de comprendre qu'une virgule sans autre valeur derrière indique que tu préfères un formatage avec un paramètre par ligne.
On est finalement restés sur yapf avec quelques améliorations sur la config.