Ergonomi CLI
Bangun alat baris perintah yang mudah digunakan: bantuan yang jelas, flag singkat, kode keluar, stdout dan stderr, penguraian dasar, serta tingkat keinformatifan sederhana.
Ergonomi CLI adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C# Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C# Academy mencakup 3 pelajaran total.
Dasar-dasar CLI yang mudah digunakan
Tujuan:
- Tampilkan bantuan dengan -h/--help
- Gunakan opsi yang jelas (-i, -o, --verbose)
- Kembalikan 0 saat berhasil, dan nilai bukan nol saat terjadi kesalahan
- Kirim hasil ke stdout, dan diagnostik ke stderr
Penggunaan & bantuan
Tambahkan bagian penggunaan yang singkat dan terima opsi pendek maupun panjang; tampilkan bagian tersebut saat masukan tidak ada.
using System;
// A tiny CLI that prints help if no args or -h/--help is passed.
public class Program
{
static void PrintUsage()
{
Console.WriteLine("usage: tool -i <input> [-o <output>] [--verbose]");
Console.WriteLine("options:");
Console.WriteLine(" -i, --input input file path (required)");
Console.WriteLine(" -o, --output output file path (optional)");
Console.WriteLine(" -h, --help show help");
Console.WriteLine(" --verbose print extra diagnostics to stderr");
}
public static void Main(string[] args)
{
if (args.Length == 0 || args[0] == "-h" || args[0] == "--help")
{
PrintUsage();
Environment.ExitCode = 0;
return;
}
Console.WriteLine("OK: arguments received"); // placeholder success
}
}
Opsi & kode keluar
Kembalikan nilai bukan nol untuk opsi yang tidak valid; buat pesan tetap singkat dan spesifik. Cetak keberhasilan ke stdout.
using System;
// Minimal manual parsing for beginners (no external libs).
public class Program
{
static void Error(string msg)
{
Console.Error.WriteLine("error: " + msg);
Environment.ExitCode = 1; // non-zero means failure
}
public static void Main(string[] args)
{
string input = null;
string output = null;
for (int i = 0; i < args.Length; i++)
{
string a = args[i];
if (a == "-i" || a == "--input")
{
if (i + 1 >= args.Length) { Error("missing value for " + a); return; }
input = args[++i];
}
else if (a == "-o" || a == "--output")
{
if (i + 1 >= args.Length) { Error("missing value for " + a); return; }
output = args[++i];
}
else if (a == "-h" || a == "--help")
{
Console.WriteLine("usage: tool -i <input> [-o <output>]");
return;
}
else
{
Error("unknown option: " + a);
return;
}
}
if (input == null) { Error("input is required (-i)"); return; }
// Success path: write result to stdout
Console.WriteLine("Processed " + input + (output == null ? "" : (" -> " + output)));
Environment.ExitCode = 0;
}
}
Stdout vs stderr
Letakkan hasil di stdout (dapat dialirkan melalui pipe), dan diagnostik di stderr. Tambahkan opsi --verbose sederhana.
using System;
// Show separation of streams: stdout (results) vs stderr (diagnostics).
public class Program
{
public static void Main(string[] args)
{
bool verbose = false;
for (int i = 0; i < args.Length; i++) if (args[i] == "--verbose") verbose = true;
if (verbose) Console.Error.WriteLine("info: starting work");
// pretend to compute a number
int result = 42;
// Result goes to stdout so it can be piped: tool ... > out.txt
Console.WriteLine(result);
if (verbose) Console.Error.WriteLine("info: finished work");
Environment.ExitCode = 0;
}
}
Konvensi & penyempurnaan
- Terima opsi pendek maupun panjang (-h/--help)
- Gunakan pesan kesalahan yang jelas (apa yang salah + cara memperbaikinya)
- Buat keluaran bawaan tetap minimal; tambahkan --verbose untuk detail
- Gunakan kode keluar yang konsisten (0 berhasil, 1 argumen tidak valid, 2 kegagalan I/O)
Pengujian cepat & dokumentasi
- Coba pengalihan: command > out.txt dan command 2> err.txt
- Uji jalur kesalahan: berkas tidak ada, argumen salah
- Jaga teks penggunaan tetap di bawah sekitar 5 baris pada perangkat seluler
- Dokumentasikan contoh agar mudah disalin dan ditempel
Aliran & kode keluar
Rangkuman
Rangkuman: Bantuan pada -h/--help, opsi yang jelas, kode keluar yang tepat, serta pemisahan stdout/stderr membuat alat Anda mudah digunakan dalam skrip dan dapat diprediksi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Ergonomi CLI” gratis?
Ya — teks lengkap “Ergonomi CLI” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C# Academy, upgrade ke CoddyKit PRO. Kursus C# Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Ergonomi CLI”?
Bangun alat baris perintah yang mudah digunakan: bantuan yang jelas, flag singkat, kode keluar, stdout dan stderr, penguraian dasar, serta tingkat keinformatifan sederhana. Kamu berlatih C# Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C# Academy?
Tidak diperlukan pengalaman sebelumnya. C# Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.
Berapa lama pelajaran “Ergonomi CLI” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C# Academy ini?
Ya. Setiap pelajaran C# Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.