Derzeit habe ich eine Kommandozeilenanwendung in C aufgerufenbtcwatch
. Es hat eine -C
Option, die es als Argument erhalten kann, das den aktuellen Preis von Bitcoin mit einem Preis vergleicht, der zuvor mit gespeichert wurde -S
. Beispielausgabe mit dieser Option ist:
$ btcwatch -vC # -v = verbose
buy: UP $ 32.000000 USD (100.000000 -> 132.000000)
sell: UP $ 16.000000 USD (100.000000 -> 116.000000)
Das Dilemma besteht darin, ob für die Zeichenfolge UP
oder die DOWN
Zeichenfolge Farbe verwendet werden soll (grün bzw. rot). Die meisten mir bekannten Befehlszeilenanwendungen (außer Git) halten sich in ihrer Ausgabe von Farben fern. In meinem Wunsch btcwatch
nach suchen und ganz "Standard" sein (Verwendung vongetopt
, Makefiles, etc.), bin ich nicht sicher, ob Farbe in dieser Situation fehl am Platz aussehen würde.
coding-standards
command-line
bash
color
Marco Scannadinari
quelle
quelle
git diff
,git pull
etc.Antworten:
Es ist angebracht, die Färbung optional zu machen und sie standardmäßig über ein Befehlszeilenflag zu "aus" zu steuern. Auf diese Weise sind Leute, die es nicht mögen oder deren Terminal es nicht unterstützt, nicht betroffen, Leute, die es mögen, können es verwenden, und Leute, die es wirklich, wirklich mögen, können einen Alias oder eine Verknüpfung definieren, um die Option vorab zu definieren. Alle sind glücklich.
quelle
ls
(diels --color
Option ist erforderlich, um es zu aktivieren).--color
./bin/ls
ist/bin/ls -G
normal , ist farbig (wenn Sie jedoch CLICOLOR in der Umgebung definiert haben, ist diese Option standardmäßig aktiviert). In gnu beeinflussten Distributionen sieht man--color
und die zugehörigen Umgebungsvariablen.alias ls='ls --color=auto'
die Standardeinstellung.bashrc
(oder wenn es nicht mehr ist, hat es ungefähr 8.04 ein Jahr gegeben oder gedauert, und ich habe gerade meine .bashrc über InstallationenIch würde es für angemessen halten, Farbe zu verwenden, wenn:
Es gibt 'Gruppen' von Gegenständen und Farbgruppen helfen dabei, die Gegenstände visuell zu gruppieren.
Es gibt eine Reihe von 'label: value'-Feldern, und Sie möchten, dass die Beschriftungen (oder Werte) hervorstechen.
Es gibt Elemente, die davon profitieren würden, wenn sie in Rot / Grün angezeigt werden, z. B. Stop / Go, Gut / Schlecht usw.
Die meisten Informationen stammen aus dem Hintergrund, aber ein zentraler Punkt sollte herausstechen.
quelle
Ein weiterer wichtiger Faktor ist, dass durch Färben je nach Plattform Zeichen-Escape-Sequenzen hinzugefügt werden können. Für Builds auf diesen Plattformen ist es üblich, zu erkennen, ob die Programmausgabe eine PIPE- oder eine Stripping-Farbe ist, wenn der aktuelle / Standard-Modus die Ausgabe von Farbe ist.
Dies ist so, dass die Farb-Escape-Sequenzen keine nachgelagerten Programme abwerfen, die ihre Ausgabe lesen.
quelle
--colour
(oder--no-colour
) Option für solche Programme freundlicher ist