70497051Fermer
ZerosquareLe 12/08/2017 à 12:27
Zeph (./7045) :
Le seul argument que je vois contre ça, c'est que certains programmes qui ne prennent pas du tout de fichier en paramètre (ça reste rare) se retrouvent à avoir potentiellement une expansion effectuée alors qu'elle n'aura aucun sens pour eux.
J'en vois d'autres :
- ça oblige tous les programmes à utiliser la syntaxe "concaténation de nom de fichiers" pour leur ligne de commande, même si ce n'est pas la meilleure solution pour eux
- ça empêche de traiter spécifiquement les jokers (exemple tout bête : demander une confirmation si tu exécutes une commande dangereuse avec "*" comme argument)
- ça empêche le programme de démarrer tant que la liste des fichiers correspondant au pattern n'a pas été constituée, ce qui est gênant s'ils sont nombreux et/ou que le système de fichiers est lent à répondre (par exemple un partage réseau avec une connexion limitée)
- après expansion, ça fait des lignes de commandes potentiellement super longues, avec nécessité d'allouer dynamiquement vu que le nombre de fichiers est inconnu. Assez anecdotique de nos jours j'admets, mais je trouve ça un peu dommage.

Pour moi, la bonne méthode est qu'il y ait une API d'énumération des fichiers qui correspondent à un pattern (pour éviter d'avoir 36 implémentations différentes).

Flan > pour moi c'est carrément le principe "tout est un flux de texte unique" (qui s'applique aussi à la ligne de commande) qui est bancal et limité pour interfacer des applis. Mais j'en ai déjà parlé ^^