0Pricing
C# Academy · Ders

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ı

Hızlı kontrol: Hangi uygulama CLI kullanılabilirliğini ve kabuk üzerinden boru ile aktarımı geliştirir?

Ö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

  1. C# betik oluşturma (dotnet script), parçacıklar ve REPL
  2. Bir bakışta birlikte çalışabilirliğin temelleri (P/Invoke)
  3. CLI kullanım kolaylığı
← C# Academy Sayfasına Dön