---
title: Mevcut kodu anlama
description: Mevcut kod tabanlarını keşfetmek, analiz etmek ve anlamak için Verdent'i kullanma
---

Verdent for VS Code, doğal dildeki sorular ve otomatik keşif yoluyla tanımadığınız kod tabanlarını anlamanıza yardımcı olur. Yerleşik Explorer alt aracısı, ana bağlam pencerenizi tüketmeden dosyaları hızla bulur, kod desenlerini arar ve mimari soruları yanıtlar.

### Neler öğreneceksiniz

- Explorer alt aracısını kullanarak tanımadığınız kod tabanlarını keşfetme
- Kod yapısı ve uygulaması hakkında soru sorma
- Fonksiyonlar, sınıflar ve modüller hakkında ayrıntılı açıklamalar alma
- Mevcut koddan dokümantasyon oluşturma
- Proje mimarisini ve veri akışını anlama
- Yeni ekip üyelerini verimli bir şekilde işe alıştırma

### Ön koşullar

Kodu anlamak için Verdent'i kullanmadan önce:

- Verdent uzantısı kurulu Visual Studio Code
- VS Code'da açık bir kod tabanı veya proje çalışma alanı
- Kullanılabilir kredilere sahip etkin bir Verdent aboneliği

---

## Tanımadığınız kod tabanlarını keşfetme

Kod tabanı yapısı hakkında soru sorduğunuzda veya dosya araması istediğinizde, Verdent otomatik olarak görevi **Explorer alt aracısına** (`@Explorer`) devreder; bu, hızlı kod tabanı keşfi için optimize edilmiş, token açısından verimli bir uzmandır.

Explorer alt aracısı hızlıca:
- Desenlere veya adlara uyan dosyaları bulur
- Belirli anahtar kelimeler veya fonksiyonlar için kodu arar
- Kod tabanı hakkındaki mimari soruları yanıtlar
- İşlevselliğin nerede uygulandığını tespit eder

**Örnek keşif soruları:**

```
What is the structure of this project?
```

```
Where is user authentication handled?
```

```
Find all API endpoint definitions
```

```
Show me where database queries are defined
```

Explorer arka planda verimli bir şekilde çalışır ve ana bağlam pencerenizi tüketmeden hızlı yanıtlar sağlar. Verdent, bulguları ilgili dosya yolları ve kod parçacıklarıyla birlikte sunar.

**Karmaşık görevler için paralel keşif:**

Karmaşık keşif görevleri için, zamandan tasarruf etmek amacıyla birden fazla Explorer aracısı paralel olarak çalışabilir; her biri kod tabanının farklı yönlerini eşzamanlı olarak inceler. Verdent ardından bulguları tutarlı bir özet halinde birleştirir.

**Örnek:**

```
Use the Explorer agent to find all places where we manually validate email addresses
```

Bu, Verdent'in kod tabanındaki hiçbir örneği atlamadan her konumu sistematik olarak keşfetmesini sağlar.

---

## Kodunuz hakkında soru sorma

Verdent, doğal dil kullanarak kod tabanınızla ilgili neredeyse her soruyu yanıtlar. Yapay zeka bağlamı anlar ve ayrıntılı açıklamalar, analizler ve içgörüler sağlar.

<Tabs>
  <Tab title="Kodu anlama">
    Belirli bir işlevselliğin nasıl çalıştığını sorun:

    ```
    Explain how authentication works in this project
    ```

    ```
    What does the calculateTotal function do?
    ```

    ```
    How are API requests handled?
    ```

    Verdent ilgili kodu analiz eder, yürütme akışlarını izler ve uygulamayı belirli dosyalara ve satır numaralarına atıfta bulunarak açıklar.
  </Tab>

  <Tab title="Mimari ve yapı">
    Uygulamanızın büyük resmini anlayın:

    ```
    What is the overall architecture of this application?
    ```

    ```
    How do the components communicate with each other?
    ```

    ```
    What design patterns are used in this codebase?
    ```

    Verdent proje yapınızı inceler, desenleri tespit eder ve mimari kararları açıklar.
  </Tab>

  <Tab title="Uygulama">
    Teknik kararlara dair içgörüler edinin:

    ```
    Why do you think Redux was chosen instead of Context API for state management?
    ```

    ```
    What would happen if I changed the API timeout from 30s to 60s?
    ```

    ```
    Is this validateUserInput function redundant?
    ```

    Verdent kod bağlamını analiz eder ve projenizin desenlerine ve sektördeki en iyi uygulamalara dayalı gerekçeli açıklamalar sunar.
  </Tab>

  <Tab title="Keşif">
    Belirli işlevsellikleri veya bağımlılıkları bulun:

    ```
    Where is user data validated?
    ```

    ```
    Show me all database queries in the project
    ```

    ```
    What dependencies does this project have?
    ```

    Explorer alt aracısı, grep (içerik araması) ve glob (dosya deseni eşleştirme) gibi araçları kullanarak verimli aramalar yapar ve ana bağlamı tüketmeden ilgili sonuçları döndürür.
  </Tab>

  <Tab title="Öğrenme">
    Algoritmaları ve desenleri anlayın:

    ```
    How does the quicksort algorithm work in the sortItems function?
    ```

    ```
    What are the best practices for error handling in React components?
    ```

    ```
    Explain the Observer pattern implementation in the EventEmitter class
    ```

    Verdent, kod tabanınızdaki belirli uygulamalara atıfta bulunarak net açıklamalar sağlar.
  </Tab>
</Tabs>

---

## Fonksiyonları ve sınıfları açıklama

Verdent, belirli fonksiyonların veya sınıfların uygulamasını, parametrelerini, dönüş değerlerini ve kod tabanı boyunca kullanımını analiz ederek bunlara dair ayrıntılı açıklamalar sağlar.

**Örnekler:**

```
Explain the UserAuth class
```

```
What does the processPayment function do?
```

```
Break down the ApiService class methods
```

**Verdent'in açıkladıkları:**

- **Amaç**: Fonksiyonun veya sınıfın neyi başardığı
- **Parametreler**: Girdi türleri, beklenen değerler ve kısıtlamalar
- **Dönüş türleri**: Çıktı türleri ve olası dönüş değerleri
- **Dahili mantık**: Uygulamanın adım adım nasıl çalıştığı
- **Bağımlılıklar**: Kullanılan harici modüller, fonksiyonlar veya servisler
- **Kullanım örnekleri**: Fonksiyonun/sınıfın kodunuzun başka yerlerinde nasıl kullanıldığı

Verdent kodun yürütme akışını izler, kenar durumları tespit eder ve uygulama tercihlerinin ardındaki mantığı açıklar.

---

## Dokümantasyon oluşturma

Verdent, satır içi kod yorumları (JSDoc, Python docstring'leri vb.), README dosyaları, API dokümantasyonu ve mimari kılavuzları dahil olmak üzere birden fazla formatta dokümantasyon oluşturur.

#### Dokümantasyon için Plan Mode'u kullanma

Plan Mode'da Verdent şunları yapabilir:
- Stilini ve yoğunluğunu eşleştirmek için mevcut dokümantasyonunuzu analiz etme
- Biçimlendirme tercihleri (yorum stili, ayrıntı düzeyi, örnek dahil etme) hakkında açıklayıcı sorular sorma
- Mevcut dokümantasyon desenlerini anlamak için kod tabanını analiz etme
- Neyin ve hangi stilde dokümante edileceğini gösteren bir dokümantasyon planı sunma

**Örnek:**

```
Generate JSDoc comments for all functions in the utils folder
```

Verdent projenizdeki mevcut JSDoc yorumlarını inceler, tercihler (parametre açıklamaları, örnek kullanım dahil etme) hakkında sorular sorar ve ardından belirlediğiniz kurallara uygun dokümantasyon oluşturur.

**Desteklenen dokümantasyon formatları:**

- **Satır içi yorumlar**: JSDoc, Python docstring'leri, Javadoc, XML dokümantasyon yorumları
- **README dosyaları**: Proje genel bakışları, kurulum talimatları, kullanım kılavuzları
- **API dokümantasyonu**: Uç nokta açıklamaları, istek/yanıt formatları, kimlik doğrulama ayrıntıları
- **Mimari kılavuzlar**: Sistem tasarımı açıklamaları, bileşen ilişkileri, veri akışı diyagramları

<Tip>
  Kapsamlı dokümantasyon oluştururken Plan Mode'u kullanın. Verdent mevcut dokümantasyon stilinizi inceler ve oluşturulan belgelerin projenizin kurallarına uymasını sağlamak için açıklayıcı sorular sorar.
</Tip>

<Tip>
Birden fazla dosya için dokümantasyon oluştururken Plan Mode'u kullanın, işlemeden önce dokümantasyon yapısını gözden geçirin.
</Tip>

---

## Dosyaları ve modülleri özetleme

Verdent, kodu okuyarak, yapısını anlayarak ve amacını sade bir dille açıklayarak dosyaları veya modülleri analiz eder ve özetler.

**Örnekler:**

```
Summarize what the authMiddleware.js file does
```

```
Explain the purpose of the UserService module
```

```
What's the main responsibility of the PaymentController?
```

**Verdent'in sağladıkları:**

- **Ana amaç**: Dosyanın/modülün sistemde neyi başardığı
- **Temel fonksiyonlar**: Başlıca fonksiyonlar veya metotlar ve rolleri
- **Bağımlılıklar**: Kullanılan harici modüller ve servisler
- **Dışa aktarımlar**: Genel API ve sistemin diğer kısımlarının neye erişebileceği
- **Desenler**: Kullanılan tasarım desenleri veya mimari yaklaşımlar
- **Entegrasyon noktaları**: Projenin diğer kısımlarıyla nasıl bağlandığı

Verdent dosyayı okur, temel fonksiyonları tespit eder, bağımlılıkları izler ve kodun daha büyük proje mimarisine nasıl uyduğunu açıklar.

---

## Mimariyi anlama

Verdent, mimariyi ayrıntılı metin açıklamaları, bileşen ilişkileri ve veri akışı açıklamaları aracılığıyla açıklar. Doğrudan grafiksel diyagramlar oluşturmasa da, görüntüleyebileceğiniz ASCII art diyagramları veya Mermaid diyagram kodu oluşturabilir.

**Örnek:**

```
Explain the architecture of this application and show component relationships
```

Verdent bir ASCII gösterimi üretebilir:

```
Frontend (React)
    ↓
API Layer (Express)
    ↓
Service Layer (Business Logic)
    ↓
Database Layer (PostgreSQL)
```

Veya görüntüleme için Mermaid kodu oluşturabilir:

```mermaid
graph TD
    A[React Frontend] --> B[API Gateway]
    B --> C[Auth Service]
    B --> D[User Service]
    C --> E[Database]
    D --> E
```

**Mimari açıklamaları şunları içerir:**

- **Bileşen etkileşimleri**: Sistemin farklı parçalarının nasıl iletişim kurduğu
- **Veri akışı**: Bilginin uygulama içinde nasıl hareket ettiği
- **Mimari desenler**: MVC, mikro hizmetler, katmanlı mimari vb.
- **Teknoloji yığını**: Ön uç, arka uç, veritabanı, harici servisler
- **Entegrasyon noktaları**: API'ler, mesaj kuyrukları, webhook'lar, üçüncü taraf servisler
- **Ölçeklenebilirlik desenleri**: Yük dengeleme, önbellekleme, veritabanı parçalama

Verdent proje yapınızı analiz eder, içe aktarımları ve bağımlılıkları izler, desenleri tespit eder ve sistem tasarımınızın ardındaki mimari kararları açıklar.

---

## Yeni ekip üyelerini işe alıştırma

Verdent, kod tabanı hakkındaki soruları yanıtlayarak, mimari kararları açıklayarak, temel dosyaları ve desenleri tespit ederek ve yeni gelenlerin proje yapısını ve kurallarını anlamasına yardımcı olacak şekilde uyarlanmış dokümantasyon oluşturarak yeni ekip üyelerinin işe alıştırılmasına yardımcı olur.

**Plan Mode'da**, Verdent kişiselleştirilmiş bir işe alıştırma kılavuzu oluşturmadan önce, kod tabanının hangi yönlerinin yeni ekip üyesinin rolüyle en alakalı olduğunu anlamak için açıklayıcı sorular sorabilir.

**Örnek işe alıştırma soruları:**

```
What's the best starting point for understanding this codebase?
```

```
How does data flow from the API to the frontend?
```

```
Where should I look to understand the authentication system?
```

```
What are the naming conventions and code style guidelines used here?
```

**Verdent'in oluşturabilecekleri:**

- **İşe alıştırma kılavuzları**: Kod tabanı mimarisinin adım adım açıklamaları
- **Bileşen haritaları**: Bileşenlerin nasıl ilişkili olduğunu gösteren görsel veya metin tabanlı kılavuzlar
- **Yaygın desenler**: Sık kullanılan desenlerin ve kuralların dokümantasyonu
- **Kurulum talimatları**: Geliştirme ortamının nasıl yapılandırılacağı ve projenin nasıl çalıştırılacağı
- **İlk görevler**: Aşinalık kazanmak için basit ilk katkılara dair öneriler

Yeni ekip üyeleri kod tabanını sohbet ederek keşfedebilir, kıdemli geliştiricileri rahatsız etmeye veya saatlerce kod okumaya gerek kalmadan anında yanıtlar alabilir.

<Note>
  Verdent'in Explorer alt aracısı, kod tabanı keşfini yeni gelenler için verimli hale getirir. "Tüm React bileşenlerini göster" gibi genel sorular veya "Hata kaydı nerede uygulanıyor?" gibi belirli sorgular sorabilir ve anında, doğru yanıtlar alabilirler.
</Note>

---

## En iyi uygulamalar

<Accordion title="Geniş sorularla başlayın, sonra detaya inin">
  Belirli uygulamalara dalmadan önce "Mimari nedir?" gibi üst düzey sorularla başlayın. Bu, bağlamı kademeli olarak oluşturur.
</Accordion>

<Accordion title="Kapsamlı aramalar için Explorer alt aracısını açıkça kullanın">
  Kod tabanı genelinde kapsamlı aramalar için, hiçbir örneğin atlanmadığından emin olmak adına Explorer aracısından açıkça bahsedin: "Tüm kimlik doğrulama kontrollerini bulmak için Explorer'ı kullan."
</Accordion>

<Accordion title="Yalnızca 'ne' değil, 'neden' soruları sorun">
  Kararların ardındaki mantığı anlamak, genellikle uygulamayı anlamaktan daha değerlidir. "Bu kod ne yapıyor?" sorusunun yanı sıra "Bu desen neden seçildi?" diye sorun.
</Accordion>

<Accordion title="Dokümantasyon oluşturma için Plan Mode'dan yararlanın">
  Belgeler oluştururken, Verdent'in yaklaşımını gözden geçirmek, stilinize uyduğundan emin olmak ve yürütmeden önce planı iyileştirmek için Plan Mode'u kullanın.
</Accordion>

<Accordion title="Odaklı açıklamalar için @-bahsetmelerini kullanın">
  Ayrıntılı açıklamalar istediğinizde belirli dosyalara atıfta bulunun: "@components/UserProfile.tsx bu bileşeni açıkla" ifadesi Verdent'in doğru koda odaklanmasını sağlar.
</Accordion>

<Accordion title="Değişiklik istemeden önce bağlam oluşturun">
  Değişiklik yapmadan önce, Verdent'ten mevcut uygulamayı açıklamasını isteyin. Bu, Verdent'in mevcut desenlerle uyumlu daha iyi öneriler sunmasına yardımcı olur.
</Accordion>

<Accordion title="Takip sorularını rahatça sorun">
  Verdent konuşma bağlamını korur, böylece bağlamı tekrarlamadan açıklayıcı sorular sorabilir, daha derin açıklamalar isteyebilir veya ilgili konuları keşfedebilirsiniz.
</Accordion>

---

## Ayrıca bakınız

<CardGroup cols={2}>
  <Card title="Yeni kod yazma" icon="code" href="/docs/verdent-for-vscode/task-based-guides/writing-code">
    Verdent ile yeni özellikler ve bileşenler yazmayı öğrenin
  </Card>

  <Card title="Kodu yeniden düzenleme" icon="wrench" href="/docs/verdent-for-vscode/task-based-guides/refactoring">
    Yapay zeka yardımıyla mevcut kodu güvenle iyileştirin ve yeniden düzenleyin
  </Card>
</CardGroup>
