Khi viết các công cụ cho CLI của UNIX, tôi nên làm thế nào để chương trình in ra trợ giúp và / hoặc sử dụng?
Tôi thường sử dụng fprintf(stderr, "help text here");
, nhưng có một số vấn đề với điều đó.
- Đầu tiên, tôi không chắc chắn, liệu tôi có nên sử dụng
stderr
. Điều đó có ổn không, hay tôi nên sử dụngstdout
? - Như bạn có thể tưởng tượng, văn bản trợ giúp khá dài, tùy thuộc vào công cụ có bao nhiêu tùy chọn. Bây giờ, tôi thường, chỉ cần đặt một vài
"strings like that\n"
trong tham số thứ hai. Tuy nhiên, điều này sẽ lấp đầy mã nguồn của tôi bằng năm mươi dòng văn bản trợ giúp trở lên. Nó không dễ quản lý chút nào. Tôi nên làm gì thay thế? - Khi một công cụ không được viết bằng ngôn ngữ C hoặc ngôn ngữ giống như C, tôi có xu hướng sử dụng tài liệu ở đây nếu có thể (nổi bật nhất là với Perl). Tôi không thể sử dụng nó trong C, nhưng tôi có thể sử dụng cái gì đó không?
- Tôi đang xem xét đưa nó vào
headerfile.h
trong#define HELP "help text here"
, tôi chưa bao giờ thấy nó trong tự nhiên, không biết liệu tôi có thực sự nên sử dụng nó không.
Lý tưởng nhất, tôi có thể đặt văn bản trong một tệp bên ngoài, và bao gồm nó. Sử dụng #include
cho điều đó có vẻ sai, mặc dù. Tôi nên làm cái gì sau đó?
Ý tưởng là, để có một văn bản trợ giúp, có thể dễ dàng quản lý. Có nó bên trong mã nguồn không thực sự tiện lợi.