Claude Code ile muhtemelen daha önce yazdığım kodun elli katı kadar kod yazıyorum. Çok daha fazla pull request birleştiriyor, çok daha fazla satır kod yazıyor ve genel olarak daha fazla özellik getiriyorum.
Sadece birkaç yıl önce, bir geliştirici olarak çalışırkenki temel darboğaz basitçe kodu yazmaktı. Doğru kodu yazmak için çok fazla zaman harcamanız, bazen yeni özellikleri, kurulacak paketleri, Stack Overflow üzerinden çözmek zorunda olduğunuz hataları araştırmak için zaman ayırmanız gerekiyordu.
Bununla birlikte, bu artık tamamen değişti ve özellikleri doğrudan Claude Code veya benzeri kodlama ajanları kullanarak uygulayabilirsiniz.

Kodunuzu kesinlikle bu tür kodlama ajanları üzerinden yazmanızı öneriyorum. Ancak burada bir noktayı yükseltmek istiyorum: Artık tüm kodunuzu yazmak, özelliklerinizi geliştirmek ve hatalarınızı düzeltmek için kodlama ajanları kullanıyorsunuz, anlama artık sınırlı bir kaynağa dönüştü.
Uygulamanızdaki farklı özellikleri anlama düzeyiniz nedir? Hata nedenini ve düzeltmenizin neden işe yaradığını anlama düzeyiniz nedir? Neden sağlam bir düzeltme — başka bir yerde yine bir soruna yol açmayacak şekilde — ?
Anlama düzeyiniz ne kadar iyi olursa, ölçeklenebilir uygulamalar geliştirme ve kullanıcılarınızın ihtiyaç duyduğu özellikleri geliştirme yeteneğiniz o kadar kritik hale gelecek.
Bu infografik, bu makalenin ana içeriğini özetliyor. Kod tabanımı daha iyi anlamak için kullandığım üç belirli tekniği tartışacağım. Görsel ChatGPT tarafından oluşturuldu.
Kod anlama konusunda neden önemsemelisiniz?
Şimdi, kendinize sorabileceğiniz ilk soru, kod anlama konusunda neden önemsemmeniz gerektiğidir.
Özellikle kodlama ajanlarının kodunuzu yazabildiği, ortaya çıkan herhangi bir hatayı düzeltebildiği ve benzeri bir şekilde AI çağında. Kağıt üzerinde, etkili bir uygulama geliştirmek için bu işlerin nasıl yapılacağını bilmeye hiç gerek yokmuş gibi görünebilir.
Ancak, bence bu gerçeğin çok uzağında. Son paragrafta betimlediğim sistem, yalnızca birkaç kullanıcı veya sadece sizin için bir iç uygulama geliştiriyorsanız ve onu hiç ölçeklendirmiyorsanız işe yarar.
Bununla birlikte, beş kullanıcı gibi bir sayıyı aştığınızda ve dış kişiler kullanmaya başladığında, bu dış kişilerin sisteme dahil edilmesi gerekir; veri güvenliğini hesaba katmanız gerekir; farklı bireyler için farklı tercihleri hesaba katmanız gerekir; birleşik bir arayüz sistemine sahip olmanız gerekir; belirli SLA’lar içinde kalmanız gerekir ve benzeri durumlar. Sadece kod tabanınız hakkında hiçbir anlayış olmadan “vibe coding” yapmak işe yaramaz.
Kodlama ajanlarınız bunu yapabilir, ancak uygulamanın ana hatlarını anlamanız gerekir: farklı özelliklerin neler olduğu, nasıl çalıştıkları, nasıl optimize edilebileceği, farklı özelliklerin birbirleriyle nasıl etkileşime girdiği ve benzeri konular. Anlayışın bu kadar önemli olduğunu söylememin nedeni de budur.
Kod tabanınızı anlamanız için teknikler
Şimdi makalenin ana içeriğine, yani kod tabanınızı daha iyi anlamanıza yardımcı olacak üç teknikle ilgilenelim. Farklı teknikler arasındaki ortak nokta, siz kodu manuel olarak okumak yerine bir şekilde kodlama ajanlarını bir anlayış oluşturmak için kullanmanızdır.
Tartışacağım üç ana teknik şunlardır:
-
Bir özelliği inşa etmeden önce o özellik için bir not hazırlamak
-
Claude Code ile başkalarının PR’larını gözden geçirmek

-
Belirli özellikler için Claude ile HTML notları oluşturmak
Bir özelliği inşa etmeden önce o özellik için bir not hazırlayın
Bu görsel, bir özellik notunun nasıl görünebileceğini gösteriyor. Kodlama ajanlarınızın niyetlerinizle uyumlu olduğundan ve kodlama ajanlarının ne inşa edeceğini anladığınızdan emin olmak için onlarla birlikte kapsamlı bir teknik şartname hazırlarsınız. Görsel: ChatGPT.

Üstlenmek istediğim ilk teknik, bir özelliği inşa etmeden önce o özellik için bir not hazırlamaktır. Bence bu hem özellikleri doğru şekilde uygulamak hem de aslında ne inşa ettiğiniz hakkında bir anlayış edinmek açısından önemlidir. Bir şey inşa etmeden önce, bu özelliklerin uygulamaya nasıl dahil edileceğini, onları uygulamak için sahip olduğunuz farklı seçenekleri, özelliği uygularken hesaba katmanız gereken farklı artı ve eksi yönleri ve göz önünde bulundurulacak diğer gerekçeleri araştıran çok sayıda araştırma ajanı çalıştırmalısınız.
Bunu anlamanın en iyi yolu, bir özellik inşa etmeden önce bir kodlama ajanının bir not (memo) oluşturmasını sağlamaktır; böylece gerçekten ne inşa ettiğinizi, ne inşa ettiğinizin sonuçlarının ne olduğunu ve dikkate almanız gereken diğer her şeyi gerçekten anladığınızdan emin olursunuz. Not, ayrıca yaptığınız herhangi bir kararı saklamalıdır. Örneğin, özelliği A seçeneğiyle mi yoksa B seçeneğiyle mi inşa edeceğiniz konusunda bir mimari karar verirseniz ve bu kararı verirken kullandığınız gerekçeyi de notlara eklemiş olursunuz.
Diğer insanların PR’larını Claude Code ile inceleme
Bu görselde, bir PR incelemesinin Claude Code veya başka herhangi bir kodlama ajıyla yapılduğunda nasıl görünebileceğini gösteriyorum. Kodlama ajılarımı solda, GitHub PR sayfasını ise sağda tutuyor ve çekme isteği (pull request) hakkında bir anlayış oluşturmaya çalışıyorum. Görsel ChatGPT’ye ait.
Kullanabileceğiniz başka bir başka çok önemli teknik de diğer insanların PR’larını Claude Code ile incelemektir. Şu ki, bazı durumlarda çekme isteklerini manuel olarak incelemenin gerekli olduğunu biliyorum. Bu, kodun kritik kısımlarına dokunduğunuzda ve bunu satır satır insan gözüyle incelemenin bir kodlama ajıyla incelemekten daha değerli olduğuna inandığınızda ortaya çıkabilir.
Çoğu durumda ise kodun insan gözüyle incelenmesine gerçekten gerek olmadığınu söylüyorum. Çoğu durumda, çekme isteği oluşturmadan önce kodu ayrı kodlama ajlarıyla incelemek yeterlidir. Bence bu, yaklaşık %80’ini kapsıyor. Ardından, bir başkasının sadece bir şeyi kaçırıp kaçırmadığınızı ya da dikkate almanız gereken bir şey olup olmadığını görmek için bakması gereken bazı yarı-kritik çekme istekleri geliyor. Bu durumlarda, bence bu kişinin satır satır incelemesine gerek yok; bunun yerine kendi kodlama ajılarının PR’a bakması ve kendi anlayışlarını oluşturmak için bu ajılarla tartışması yeterli.
Yapanların bir anlayış edinme biçimi örneğin, özelliğin nasıl çalıştığını, özellik geliştirilirken yapılan farklı kararların artı ve eksi yönleriyle birlikte açıklayan bir PDF veya HTML dosyası oluşturmak olmalıdır. Bu inceleyici, ardından PR’ın gerçekten ne yaptığını gerçekten anlayabilir ve PR üzerinde geri bildirim verme işini daha kolay gerçekleştirebilir; ayrıca özelliğin nasıl çalıştığı konusunda bir anlayış edinerek kod tabanına dair daha iyi bir anlayış kazanır ve bu durum gelecekte diğer özellikleri geliştirirken, hataları giderirken ve benzeri durumlarda kendilerine yardımcı olur.
Belirli özellikler için Claude ile HTML notları oluşturmak
Bu görsel, uygulamanızdaki belirli özellikleri anlamak için bir HTML notunun nasıl görünebileceğini göstermektedir. Görsel ChatGPT tarafından oluşturulmuştur.
Şimdi, kapsamak istediğim son teknik, uygulamadaki belirli özellikler için sadece HTML notları oluşturmak. Buraya mümkün olduğunca spesifik olmaya çalışmanızı rica ediyorum. Tamamını açıklayan tek bir HTML dosyası oluşturmamı istediğim, daha geniş bir teknikle Claude’la birkaç kez denedim: tüm kod tabanı ve her şeyin nasıl çalıştığı gibi. Gerçekleştirdiğim şeyin pek iyi çalışmadığını fark ettim. Öncelikle, bu Claude için fazla bilgi anlamına geliyor.
Bu yüzden, benim için daha iyi çalışan şey, bunun yerine Claude’ı kod tabanının çok belirli bölümlerine yönlendirmek. Kod tabanınızdaki belirli bir sayfa ya da birkaç sayfada kullanılan belirli bir hizmet olabilir. Sadece mümkün olduğunca spesifik olmanızı rica ediyorum. Claude’ı kod tabanının bu bölümüne yönlendirin ve onun nasıl çalıştığını açıklayan animasyonlu bir HTML notı oluşturmasını sağlayın. Mümkün olduğunca çok görsel kullanmalı ve yalnızca gerekli olduğu yerde ve metnin insanın özelliği daha iyi anlamasına yardımcı olması açısından açıkça değer ürettiği yerde metin yazmalıdır.
Yaptığım şey, kodlama ajanlarımın çıktısını beklerken aklımda kalan kısa bir sürede, örneğin, yeni bir özelliğe ya da son zamanlarda değişmiş olabilecek bir özelliğe bakmak, Claude’dan bunu anlayabilmem için bir HTML özeti hazırlamasını istemek ve bu özeti birkaç dakika okumak. Öelliğin ne kadar gelişmiş olduğuna bağlı olarak, birkaç dakika ya da 15-20 dakika harcayabilirim ve aklıma takılan bir soru olursa, bunu Claude ile sohbet penceresinde görüşürüm. Böylece, her birkaç dakikam olduğunda bunu yaparak, tüm kod tabanını katman katman anlama becerisi geliştiriyorum.
Sonuç
Bu makalede, kodlama ajanlarının tüm kodu yazıp insanların yalnızca gözden geçirdiği ve kodlama ajanlarını yönettiği AI çağında, kod tabanınızı daha iyi anlamanın yollarını tartıştım. Kod tabanımı iyi anlamamı sağlayan üç temel tekniği ele aldım.
Birincisi, bir özelliği inşa etmeden önce onun özetini hazırlamak; böylece inşa ettiğim şeyi gerçekten inşa edilmeden önce anlarım. İkincisi, başka insanların pull request’lerini Claude Code ile gözden geçirmeye çalışmak. Bunu yaparken, gözden geçirdiğimiz pull request’in GitHub’ına yönlendirilmiş ayrı bir Claude oturumu başlatır ve pull request’in ne yaptığını anlayabilmem için onunla Claude Code üzerinden görüşürüm. Böylece kod tabanına giren kodu anlama becerimi geliştirmeme yardımcı oluyor.
Son olarak, uygulamada zaten yer alan belirli özellikler için HTML özeti hazırlamayı anlattım. Bunu, örneğin Claude Code’dan bir çıktı beklerken, her türlü boş zamanımda düzenli olarak yapıyorum. Böylece, zamanla uygulamadaki her bireysel özelliğe ya da hizmete bu özeti uyguladıkça, kod tabanına dair tam bir anlayış edinmiş olacağım. Ve şimdi şunu belirtmek önemli: kod tabanı tabii ki sürekli değişecek, bu yüzden kod tabanına dair bu anlayışı sürdürmede tutarlı olmak önemli.
👋 İletişime Geçin
👉 Ücretsiz e-Kitabım ve Webinarım:
🚀 LLM’lerle Mühendisliğinizi 10 Katına Çıkarın (Ücretsiz 3 Günlük E-posta Kursu)
📚 Ücretsiz Vision Language Models ebook’uma ulaşın
💻 Vision Language Models konulu web seminerim
👉 Sosyal medyada beni bulun:
🐦 X / Twitter
Bu Gelişmeyi Toplulukta Değerlendirin
Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.
Bu gelişme hakkında düşüncelerinizi, donanım deneyimlerinizi veya sorularınızı Topluluk Forumumuzda paylaşın.
Foruma Katıl & Yanıtla ➔




Söz sizde.
Deneyiminizi, sorularınızı ve katkılarınızı paylaşın. E-posta adresiniz yayımlanmaz.