Kiedy piszę narzędzia do interfejsu CLI systemu UNIX, jak powinienem sprawić, aby program wydrukował pomoc i / lub użycie?
Zwykle używam fprintf(stderr, "help text here");
, ale jest z tym kilka problemów.
- Po pierwsze, nie jestem pewien, czy powinienem użyć
stderr
. Czy to w porządku, czy powinienem użyćstdout
? - Jak możesz sobie wyobrazić, tekst pomocy jest dość długi, w zależności od liczby opcji dostępnych w narzędziu. Teraz zwykle umieszczam kilka
"strings like that\n"
w drugim parametrze. To jednak wypełnia mój kod źródłowy pięćdziesięcioma lub więcej liniami tekstu pomocy. To wcale nie jest łatwe do opanowania. Co powinienem zamiast tego zrobić? - Kiedy narzędzie nie jest napisane w języku C lub języku podobnym do C, zwykle używam tu-dokumentów tam, gdzie to możliwe (najlepiej w Perlu). Nie mogę tego użyć w C, ale czy jest coś takiego, czego mógłbym użyć?
- Zastanawiałem się nad umieszczeniem go w
headerfile.h
środku#define HELP "help text here"
, nigdy nie widziałem go na wolności, nie wiem, czy powinienem go użyć.
Najlepiej byłoby umieścić tekst w zewnętrznym pliku i dołączyć go. Korzystanie #include
z tego wydaje się jednak niewłaściwe. Więc co powinienem zrobić?
Chodzi o to, aby mieć tekst pomocy, który jest łatwy do zarządzania. Posiadanie go w kodzie źródłowym nie jest naprawdę wygodne.