CLI kullanım kolaylığı
Kullanımı kolay komut satırı araçları oluşturun: açık yardım, kısa seçenekler, çıkış kodları, stdout ve stderr ayrımı, temel ayrıştırma ve basit ayrıntı düzeyi.
CLI kullanım kolaylığı, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 3 dersten oluşur.
Kullanıcı dostu CLI temelleri
Amaçlar:
- -h/--help ile yardım gösterin
- Anlaşılır seçenekler (-i, -o, --verbose) kullanın
- Başarıda 0, hatada sıfır olmayan değer döndürün
- Sonuçları stdout'a, tanılama bilgilerini stderr'e gönderin
Kullanım ve yardım
Kısa bir kullanım bölümü ekleyin ve hem kısa hem uzun seçenekleri kabul edin; girdi eksik olduğunda bunu gösterin.
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
}
}
Seçenekler ve çıkış kodları
Geçersiz seçeneklerde sıfır olmayan değer döndürün; iletileri kısa ve belirli tutun. Başarı iletisini stdout'a yazdırın.
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 ve stderr karşılaştırması
Sonuçları stdout'a (boru ile aktarılabilir), tanılama bilgilerini stderr'e koyun. Basit bir --verbose seçeneği ekleyin.
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;
}
}
Kurallar ve son rötuşlar
- Hem kısa hem uzun seçenekleri kabul edin (-h/--help)
- Anlaşılır hata iletileri kullanın (sorun nedir + nasıl düzeltilir)
- Varsayılan çıktıyı en aza indirin; ayrıntılar için --verbose ekleyin
- Tutarlı çıkış kodları kullanın (0 başarı, 1 geçersiz bağımsız değişkenler, 2 G/Ç hatası)
Hızlı doğrulama sınamaları ve belgeler
- Yönlendirmeyi deneyin: command > out.txt ve command 2> err.txt
- Hata yollarını sınayın: eksik dosya, hatalı bağımsız değişkenler
- Kullanım metnini mobil cihazlarda yaklaşık 5 satırın altında tutun
- Örnekleri belgeleyin: kopyalayıp yapıştırmaya uygun olsun
Akışlar ve çıkış kodları
Özet
Özet: -h/--help ile yardım, anlaşılır seçenekler, uygun çıkış kodları ve stdout/stderr ayrımı araçlarınızı betik dostu ve öngörülebilir hâle getirir.
Sıkça Sorulan Sorular
“CLI kullanım kolaylığı” dersi ücretsiz mi?
Evet — “CLI kullanım kolaylığı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 3 dersten oluşur.
“CLI kullanım kolaylığı” dersinde ne öğreneceğim?
Kullanımı kolay komut satırı araçları oluşturun: açık yardım, kısa seçenekler, çıkış kodları, stdout ve stderr ayrımı, temel ayrıştırma ve basit ayrıntı düzeyi. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.
“CLI kullanım kolaylığı” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- C# betik oluşturma (dotnet script), parçacıklar ve REPL
- Bir bakışta birlikte çalışabilirliğin temelleri (P/Invoke)
- CLI kullanım kolaylığı