User-friendly, human-readable

Pourquoi faut-il taper l’option -h des commandes df et free ? Les développeurs de ces outils pensent que cette option est superflue ?

Personnellement une option nommée --human-readable (-h), je pense qu’il serait utile, opportun et judicieux de l’intégrer par défaut.

free
             total       used       free     shared    buffers     cached
Mem:      32634444   27410980    5223464     376440      93224   18234220
-/+ buffers/cache:    9083536   23550908
Swap:            0          0          0

free -h
             total       used       free     shared    buffers     cached
Mem:           31G        26G       5.0G       370M        91M        17G
-/+ buffers/cache:       8.7G        22G
Swap:           0B         0B         0B

Je n’ai pas assez de barbe pour apprécier la notation « moins human-readable » (sans -h). On passe à un niveau supérieur avec la commande df.

df /dev/nvme0n1p1 /dev/sdb
Sys. de fichiers blocs de 1K   Utilisé Disponible Uti% Monté sur
/dev/nvme0n1p1     239314556  50879376  176208928  23% /
/dev/sdb          1921803544 620797656 1203313776  35% /media/cascador/Data

df -h /dev/nvme0n1p1 /dev/sdb
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/nvme0n1p1     229G     49G  169G  23% /
/dev/sdb           1,8T    593G  1,2T  35% /media/cascador/Data

Évidemment la notation « moins human-readable » a des qualités : Plus précise, utile dans des scripts. Cependant à l’heure de l’utilisation de disques en To, il faudrait peut-être s’éloigner d’une notation précise pour se rapprocher d’une notation plus lisible, compréhensible et simple pour l’utilisateur (user-friendly).

Norme et exception (usage par défaut et option)

Cette question rejoint une interrogation plus large chez moi, quand doit-on opérer une bascule entre norme et exception ?

Si 9 fois sur 10 la majorité des utilisateurs font df -h ne faut-il pas considérer -h comme une norme de facto et plus une option ? Et alors modifier le code de df pour que de base sans devoir préciser -h df renvoie les infos en human-readable. Bien entendu une nouvelle option serait ajoutée afin de conserver la notation « moins human-readable » qui reste nécessaire. df en human-readable deviendrait la norme, la notation « moins human-readable » l’exception.

Au doigt mouillé 98% des personnes utilisent la commande ln pour créer un lien symbolique (symbolic link) ln -s, pourquoi ln crée un hard link par défaut ? Le hard link est l’exception dont on se sert 2 fois de l’an et le lien symbolique la norme, quand les développeurs de la commande ln vont la modifier pour qu’elle crée un lien symbolique par défaut ?

La façon dont l’outil est conçu et codé rentre en compte, je ne me suis pas penché sur le code de ln mais je suppose qu’il y a de bonnes raisons à ce que la création d’un hard link soit le choix par défaut. Enfin j’espère.

Remettre l’utilisateur au centre

Cela ne change en rien ma réflexion, en 2020 tout outil devrait être tourné vers l’utilisateur, être user-friendly et human-readable par défaut. Devoir utiliser free -h, df -h, ln -s revient à devoir préciser qu’on est humain et l’utilisation naturelle et simple qu’on veut de l’outil.

Vus : 272
Publié par blog-libre : 132