← 返回列表

Claude Code Serisi 3: Neden Sadece Terminal?

1.3 Neden Terminalde Kod Yazmalı?

Bir benzetme yapalım: Yeni bir özellik yazıyorsunuz ve aniden üç dosyaya dağılmış, hatta bazı çağrıları modüller arası geçiş yapan bir alt düzey yardımcı işlevi değiştirmeniz gerektiğini fark ediyorsunuz. Editörü açıyorsunuz, küresel arama yapıyorsunuz, dosya dosya gezinip dikkatlice değiştiriyorsunuz ve testleri çalıştırıyorsunuz—kırmızı. Hata mesajına bakıyorsunuz, yığını inceliyorsunuz, düzeltiyorsunuz ve tekrar deniyorsunuz.

Bu süreçte gerçekten 'nasıl değiştireceğini düşünmeye' harcanan zaman belki de yarıdan azdır. Kalan yarısı mekanik işlerdir: dosyaları bulmak, referansları değiştirmek, derlemeyi beklemek, fareyi tıklamak.

AI'yı terminale koymanın başlıca amacı bu mekanik işleri sıkıştırmaktır.

Terminal Koda En Yakın Yerdir

VS Code, JetBrains veya Vim kullanıyor olabilirsiniz. Hangisini kullanırsanız kullanın, kod yazarken terminalden kaçamazsınız. npm test, git log, grep, make build çalıştırmak—bu işlemler doğal olarak komut satırında yapılır.

Peki, eğer AI ortağınız da aynı terminalde oturuyorsa, işler basitleşir. Dosya içeriğini sohbet penceresine kopyalayıp yapıştırmanız gerekmez, 'Projemde src/services/user.ts dosyasının 42. satırında UserService adında bir sınıf var...' diye açıklamanız gerekmez. Claude Code proje kök dizininde durur ve kendisi bakar.

Bu, bağlam açısından bir üstünlük sağlar. Claude Code'a 'Giriş modülünün hata yönetimini yeniden düzenlememe yardım et' dediğinizde, gerçekten auth/login.ts dosyanızı okur, errors.ts dosyasını okur, onu çağıran tüm yerleri bulur ve doğrudan değiştirir. Arada sizin taşıyıcı olmanız gerekmez.

Sizi 'Operatör' Rolünden Kurtarır

Tarayıcıdaki AI sohbetini kullanırken sık sık farkında olmadan bir 'aracı' rolü oynarız: AI kodu çıktılar, biz okur, doğrular, kopyalar ve editöre geri dönüp yapıştırırız. Kod çalışırsa her şey yolunda; çalışmazsa hatayı kopyalar, tekrar sorar, tekrar kopyalarız. Bu süreç akışı ciddi şekilde kesintiye uğratır.

Claude Code'un tasarım felsefesi, sizi yeniden 'düşünen' konumuna getirmektir. Siz fikri söylersiniz, o işi yapar. Değişiklikten sonra diff'i doğrudan terminalde görür, kabul edip etmeyeceğinize karar verirsiniz. Ayrıca sizin için testleri çalıştırabilir, lint yapabilir. Siz otururken daha çok kod okuyup karar verirsiniz, tekrar tekrar pencere değiştirmek yerine.

Neden Editör Eklentisi Değil?

Şöyle sorabilirsiniz: Peki neden doğrudan editöre bir AI eklentisi koymuyoruz?

Editör eklentileri elbette faydalıdır ve birçok ekip zaten kullanıyor. Ancak terminaldeki Claude Code'un eklentilerle kolayca değiştirilemeyecek bazı yönleri var:

  1. Editöre bağımlı değildir. Bugün VS Code kullanırsınız, yarın Neovim'e geçersiniz, hatta GUI'siz uzak bir sunucuda bile Claude Code kullanılabilir. Seçtiğiniz araçtan bağımsızdır.

  2. Daha fazla 'sıra dışı' şey yapabilir. Terminalde herhangi bir Shell komutunu çalıştırabilir. Bu, yapabileceklerinin sınırının çok daha geniş olduğu anlamına gelir—veritabanı geçişini doğrulamak için bir Docker kapsayıcısı başlatabilir, uzak bir dalı çekip çakışmaları kontrol edebilir, kodu değiştirdikten sonra otomatik olarak e2e testlerini çalıştırabilir. Editör eklentileri genellikle bunları yapmaya cesaret edemez veya hiç yapamaz.

  3. Toplu işleme ve otomasyon. Claude Code'u bir betiğe yerleştirip onlarca depoyu işlemesini, toplu belge oluşturmasını, sorunları otomatik olarak halletmesini sağlayabilirsiniz. Bu noktada artık bir 'asistan' değil, bir iş hattının parçasıdır.

Kendi Küçük Örneğim

Geçmişte yaklaşık yirmi bin satırlık bir JavaScript projesini TypeScript'e taşımam gerekiyordu. Yaklaşımım, tek tek dosyalara elle tip eklemek veya bir editör eklentisinin her şeyi halletmesini beklemek değildi.

Doğrudan proje dizininde Claude Code'u başlattım ve ona dedim ki: 'Bu projeyi aşamalı olarak TypeScript sıkı moduna taşı, her seferinde birkaç dosyayı değiştir, her grubu değiştirdikten sonra tsc --noEmit çalıştır, hata varsa kendin düzelt, hepsi geçene kadar devam et.'

Sonraki yarım saatte temelde tek bir şey yaptım: Değiştirdiği diff'i izleyip onayladım veya reddettim. Ara sıra 'Burada tip olarak any kullanma, bir interface tanımla' dedim, o da çalışmaya devam etti. Sonunda proje derlendi ve tahmin ettiğim süreden birkaç kat daha hızlıydı.

Bu elbette Claude Code'un eklentilerden daha akıllı olduğu anlamına gelmez. Ancak 'değiştir-doğrula-düzelt' döngüsünü kendi başına tamamlayabilir, bu da onu sohbet tabanlı AI'dan ayıran temel farktır.

Sonuçta Terminal AI'ya Eller ve Ayaklar Verir

AI'yı terminale koymak, ona yalnızca önerme yeteneği değil, aynı zamanda icra yeteneği de kazandırır.

Bu, kod deponuzu yalnızca okunabilen bir metin yığını olmaktan çıkarıp AI'nın 'dokunabileceği', değiştirebileceği ve doğrulayabileceği gerçek bir ortama dönüştürür. Bu büyük bir sıçramadır.

Projenin yönünü ve tüm kritik kararları hâlâ siz kontrol edersiniz, ancak sıkıcı, düşük yaratıcılık gerektiren ve sürekli gezinme ihtiyacı duyulan işler için daha uygun bir üstlenen vardır.

评论

暂无已展示的评论。

发表评论(匿名)