Verdent Docs
Görev tabanlı kılavuzlar

Kodu iyileştirme ve yeniden düzenleme

Verdent ile kod iyileştirme ve yeniden düzenleme için en iyi uygulamalar

Verdent for VS Code, işlevselliği koruyarak birden fazla dosyada kodu güvenli bir şekilde yeniden düzenlemenize ve iyileştirmenize yardımcı olur. Explorer alt aracıyla Plan Mode'u kullanarak, değişiklik yapmadan önce etkilenen tüm dosyaları belirleyebilir ve hiçbir örneği atlamadan kapsamlı bir yeniden düzenleme sağlayabilirsiniz.

Neler öğreneceksiniz

  • Uygulamaya değil, sonuçlara odaklanan etkili yeniden düzenlemeler talep etme
  • Bağımlılık yönetimiyle birden fazla dosyada güvenli yeniden düzenleme
  • Kod kalitesi iyileştirmeleri ve optimizasyon önerileri talep etme
  • Çok aşamalı yaklaşımlarla büyük ölçekli yeniden düzenleme projelerini yönetme
  • Algoritmik ve mimari iyileştirmelerle performansı optimize etme
  • Yeniden düzenleme işlemleri sırasında kod işlevselliğini koruma

Ön koşullar

Verdent ile yeniden düzenleme yapmadan önce:

  • Verdent eklentisi yüklü Visual Studio Code
  • VS Code'da açık bir kod tabanı veya proje çalışma alanı
  • Kullanılabilir kredileri olan etkin bir Verdent aboneliği
  • Gerektiğinde güvenli geri alma için sürüm denetimi (Git) önerilir

Etkili yeniden düzenlemeler talep etme

Nasıl düzeltileceğini değil, neyi neden iyileştirmek istediğinizi açıklayın. Verdent'in kodu analiz etmesine ve proje desenlerinize dayalı en iyi yaklaşımı önermesine izin verin.

Etkili yeniden düzenleme talepleri:

Uygulamaya değil, istediğiniz sonuca odaklanın:

Refactor the UserController to improve readability and reduce duplication
This authentication logic is scattered across multiple files. Consolidate it into a single module
Improve error handling in the API layer to be more consistent and informative

Verdent kodu analiz eder, etkilenen tüm dosyaları belirler, desenleri inceler ve kod tabanı kurallarınızla uyumlu belirli yeniden düzenleme stratejileri önerir.

En iyi uygulama: Plan Mode'u kullanın

Yeniden düzenleme taleplerine Plan Mode'da başlayın. Verdent şunları yapar:

  1. Kodu analiz eder ve etkilenen tüm dosyaları belirler
  2. Değişiklik yapmadan önce ayrıntılı bir yeniden düzenleme planı sunar
  3. Uygulama tercihleri hakkında açıklayıcı sorular sorar
  4. Tam olarak neyin ve hangi sırayla değişeceğini gösterir
  5. Yaklaşımı gözden geçirip iyileştirmenize olanak tanır

Plan Mode ile örnek:

In Plan Mode: Refactor authentication logic to use a centralized authentication utility

Verdent şunları yapar:

  • Tüm kimlik doğrulama kodu konumlarını bulmak için Explorer'ı kullanır
  • Desenleri ve tutarsızlıkları belirler
  • Birleşik bir kimlik doğrulama arayüzü önerir
  • Hangi dosyaların değiştirileceğini gösterir
  • Yeniden düzenleme sırasını açıklar

Yürütmeden önce ek inceleme ve ekip tartışması için Verdent'ten planı bir plan.md dosyasına kaydetmesini isteyebilirsiniz.

Kapsamlı aramalar için Explorer'ı kullanma:

Karmaşık yeniden düzenlemeler için, Verdent'ten kapsamlı arama yapmak üzere Explorer aracını kullanmasını açıkça isteyin:

Use the Explorer agent to find all places where we manually validate email addresses, then refactor them to use a centralized validation utility

Bu, Verdent'in güncellenmesi gereken her konumu keşfetmesini sağlayarak kod tabanı genelinde tutarsız yeniden düzenlemeyi önler.

Plan Mode, yeniden düzenleme için olmazsa olmazdır. Yürütmeden önce tam olarak neyin değişeceğini göstererek sürprizleri önler ve mimari hususlara dayalı olarak yaklaşımı iyileştirmenize olanak tanır.


Çok dosyalı yeniden düzenleme

Verdent, içe aktarmaları, bağımlılıkları ve dosyalar arası referansları koruyarak birden fazla dosyada yeniden düzenleme yapar. Etkilenen tüm dosyaları belirler, bunları doğru sırada günceller ve kod tabanı boyunca tutarlılığı sağlar.

Çok dosyalı yeniden düzenleme nasıl çalışır:

  1. Keşif aşaması: Verdent (Explorer kullanarak) değişiklik gerektiren tüm dosyaları bulur
  2. Bağımlılık analizi: Güncelleme sırasını belirlemek için dosyalar arasındaki bağımlılıkları tespit eder
  3. Plan oluşturma: Değiştirilecek tüm dosyaları ve değişikliklerin sırasını gösterir
  4. Sıralı güncellemeler: Dosyaları bağımlılık sırasına göre değiştirir (örneğin, onları kullanan bileşenlerden önce türleri)
  5. İçe aktarma yönetimi: İçe aktarmaları, dışa aktarmaları ve dosyalar arası referansları otomatik olarak günceller
  6. Doğrulama: Değişikliklerin tüm dosyalarda tutarlı olduğunu denetler

Çok dosyalı yeniden düzenleme, otomatik bağımlılık takibiyle işlevselliği korur; Verdent etkilenen tüm dosyaları atomik olarak günceller.

Örnek:

Rename the User interface to UserProfile across the entire project

Verdent şunları yapar:

  • User öğesini içe aktaran veya kullanan tüm dosyaları bulur
  • Tür tanımlarını, uygulamaları ve kullanımları belirler
  • Önce tür tanımlarını, sonra uygulamaları, ardından kullanımları günceller
  • Tüm içe aktarma ifadelerini ayarlar
  • Kod tabanı genelinde tutarlılığı sağlar

Kapsamı incelemek için Plan Mode'u kullanın:

Çok dosyalı yeniden düzenlemeyi yürütmeden önce, Plan Mode'da tam kapsamı inceleyin:

In Plan Mode: Extract the authentication logic from UserController into a separate AuthService

Verdent şunları gösterir:

  • Hangi dosyaların oluşturulacağı (yeni AuthService)
  • Hangi dosyaların değiştirileceği (UserController ve tüm içe aktaranlar)
  • Hangi kodun UserController'dan AuthService'e taşınacağı
  • İçe aktarmaların ve bağımlılıkların nasıl güncelleneceği

Bu, kazara kapsam genişlemesini önler ve devam etmeden önce tüm etkiyi anlamanızı sağlar.


Kod kalitesi iyileştirmeleri talep etme

Verdent, istenmeden proaktif olarak iyileştirme önermez. Ancak, istediğiniz zaman kod kalitesi incelemeleri ve iyileştirme önerileri talep edebilirsiniz.

Geniş kapsamlı kod kalitesi incelemeleri talep edin:

Review this code for potential improvements
Suggest ways to improve code quality in the UserService module
Are there any performance optimizations we could make here?
Analyze the PaymentController for maintainability issues

Verdent kodu analiz eder ve şunlar için belirli öneriler sunar:

  • Okunabilirlik: Değişken adlandırma, işlev ayrıştırma, yorum netliği
  • Performans: Algoritma karmaşıklığı, gereksiz işlemler, önbelleğe alma fırsatları
  • Sürdürülebilirlik: Kod tekrarı, bağlaşım, sorumlulukların ayrılması
  • En iyi uygulamalar: Tasarım desenleri, hata işleme, test kapsamı
  • Güvenlik: Girdi doğrulama, kimlik doğrulama denetimleri, veri açığa çıkması

Hedefli geri bildirim için belirli dosyalara başvurun:

@services/UserService.js Review this module for dependency injection improvements
@controllers/PaymentController.js Identify opportunities to reduce complexity

Verdent, belirtilen kodu proje desenleriniz bağlamında inceler ve uygulanabilir öneriler sunar.


Büyük ölçekli yeniden düzenleme projeleri

Büyük ölçekli yeniden düzenleme için, en güvenilir sonuçları elde etmek üzere Plan Mode'u çok aşamalı bir yaklaşımla kullanın. Verdent, yeniden düzenlemeyi yönetilebilir aşamalara böler ve devam etmeden önce her aşamayı incelemenize ve onaylamanıza olanak tanır.

Çok aşamalı yeniden düzenleme iş akışı:

Aşama 1: İlk analiz

Etkilenen tüm dosyaları ve bağımlılıkları belirlemek için Explorer aracıyla Plan Mode'u kullanın:

In Plan Mode: Use Explorer to analyze our codebase and create a plan to replace our custom authentication with OAuth 2.0

Verdent kapsamlı bir analiz gerçekleştirir:

  • Kimlik doğrulamayla ilgili tüm kodu belirler
  • Bağımlılıkları ve entegrasyon noktalarını haritalandırır
  • Karmaşıklığı ve risk alanlarını değerlendirir
  • Aşama dökümünü önerir

Aşama 2: Aşama planlaması

Verdent, inceleme için çok aşamalı bir plan oluşturur:

Örnek plan:

  • Aşama 1: OAuth kitaplığı ekleyin ve uç noktaları yapılandırın
  • Aşama 2: Kullanıcı modelini ve veritabanı şemasını güncelleyin
  • Aşama 3: Mevcut kimlik doğrulama mantığını taşıyın
  • Aşama 4: Kullanımdan kaldırılmış kimlik doğrulama kodunu kaldırın
  • Aşama 5: Testleri ve belgeleri güncelleyin

Her aşama şunları içerir:

  • Değiştirilecek dosyalar
  • Tahmini karmaşıklık
  • Önceki aşamalara olan bağımlılıklar
  • Risk değerlendirmesi

Aşama 3: Aşama aşama yürütme

Aşamalar arasında test ederek her seferinde bir aşamayı yürütün:

  1. Plan Mode'da Aşama 1'i onaylayın
  2. Agent Mode'a geçin ve yürütün
  3. Aşama 1'in çalıştığını doğrulamak için kapsamlı test yapın
  4. Aşama 2 için Plan Mode'a dönün
  5. Tüm aşamalar tamamlanana kadar tekrarlayın

Aşama 4: Yinelemeli iyileştirme

Her aşamadan sonra sonuçları inceleyin. Sorunlar ortaya çıkarsa:

  • Kalan aşamalar için planı ayarlayın
  • Gerekirse düzeltici aşamalar ekleyin
  • Keşiflere dayalı olarak yaklaşımı iyileştirin

Bu aşamalı yaklaşım güvenliği sağlar ve büyük yeniden düzenleme projeleri sırasında sorunlar ortaya çıkarsa rota düzeltmesine olanak tanır.

Büyük ölçekli yeniden düzenleme her zaman sürüm denetimiyle yapılmalıdır. Her aşamadan sonra commit yapın; böylece sorunlar ortaya çıkarsa tüm ilerlemeyi kaybetmeden geri alabilirsiniz.


Performans optimizasyonu

Verdent, performans darboğazları için kodu analiz eder ve algoritma karmaşıklığı iyileştirmeleri, verimli veri yapıları ve kaynak kullanımının azaltılması dahil optimizasyonlar önerir.

Algoritmik karmaşıklığı iyileştirin:

Analyze the performance of this data processing function and suggest improvements
Can we improve the time complexity of this search algorithm?

Verdent'in belirledikleri:

  • Algoritma karmaşıklığı: O(n²) döngüleri, iç içe yinelemeler, verimsiz aramalar
  • Gereksiz hesaplamalar: Tekrarlanan hesaplamalar, gereksiz işlemler
  • Bellek sorunları: Bellek sızıntıları, aşırı tahsisler, büyük nesne tutma

Örnek:

Optimize the searchProducts function that's currently O(n²)

Verdent işlevi analiz eder, verimsizliği belirler (iç içe döngüler veya tekrarlanan doğrusal aramalar) ve belirli iyileştirmeler önerir:

  • İç içe döngüyü O(n) arama için hash map ile değiştirin
  • O(log n) karmaşıklığı için sıralamadan sonra ikili arama kullanın
  • Gereksiz hesaplamaları önlemek için hesaplanan sonuçları önbelleğe alın
  • Maliyetli işlemler için memoizasyon uygulayın

Yanıt şunları içerir:

  • Mevcut karmaşıklık: Mevcut kodun neden yavaş olduğunun açıklaması
  • Önerilen çözüm: Belirli algoritma veya veri yapısı değişikliği
  • Performans kazancı: Tahmini iyileştirme (örneğin, O(n²) → O(n log n))
  • Ödünleşimler: Bellek kullanımı, kod karmaşıklığı, sürdürülebilirlik hususları

Kullanıcı arayüzü bileşenlerini ve oluşturmayı optimize edin:

Optimize this component to reduce unnecessary re-renders

Verdent'in belirledikleri:

  • Ön uç performansı: Gereksiz yeniden oluşturmalar, büyük paket boyutları, engelleyici işlemler
  • Bileşen yaşam döngüsü: Verimsiz useEffect bağımlılıkları, eksik memoizasyon
  • Durum yönetimi: Gereksiz durum güncellemeleri, prop drilling

Verdent bileşeninizi analiz eder ve React.memo, useMemo, useCallback veya bileşen bölme gibi optimizasyonlar önerir.

API ve veritabanı darboğazlarını belirleyin ve düzeltin:

Identify performance bottlenecks in the API request handler

Verdent'in belirledikleri:

  • Veritabanı performansı: N+1 sorgular, eksik indeksler, verimsiz birleştirmeler
  • API performansı: Yavaş uç noktalar, verimsiz veri çekme, eksik önbelleğe alma

Verdent sorgu desenlerini inceler, veritabanı indeksleri, önbelleğe alma stratejileri ve API optimizasyon teknikleri önerir.

Performans optimizasyonu için, tipik veri boyutları ve performans kısıtlamaları hakkında bağlam sağlayın. Bu, Verdent'in ölçeğinize uygun çözümler önermesine yardımcı olur (örneğin, 100 öğe ile 1 milyon öğe karşılaştırması).

Optimize etmeden önce profil oluşturun; optimizasyonların anlamlı iyileştirmeler sağladığından emin olmak için performans etkisini ölçün.


Yeniden düzenleme sırasında işlevselliği koruma

Verdent, iç uygulamayı iyileştirirken aynı girdileri, çıktıları ve davranışı koruyarak yeniden düzenleme sırasında kod işlevselliğini korumayı amaçlar.

Verdent işlevselliği nasıl korur:

  • Girdi/çıktı analizi: İşlev imzalarını, API sözleşmelerini ve beklenen davranışları belirler
  • Test farkındalığı: Mevcut testleri davranışsal spesifikasyonlar olarak değerlendirir
  • Tutucu değişiklikler: Yeniden düzenleme hedefine ulaşmak için minimum değişiklik yapar
  • Doğrulama: İşlevselliğin korunduğunu doğrulamak için testler oluşturabilir veya çalıştırabilir

Güvenli yeniden düzenleme için en iyi uygulamalar:

  1. Yeniden düzenlenen kodu her zaman test edin - Verdent'in analizine rağmen, özellikle karmaşık yeniden düzenlemelerde manuel veya otomatik test işlevselliğin korunduğunu doğrular

  2. Sürüm denetimi kullanın - Sorunlar ortaya çıkarsa geri alabilmek için yeniden düzenlemeden önce commit yapın

  3. Aşamalı olarak yeniden düzenleyin - Büyük yeniden düzenlemeleri daha küçük adımlara bölün ve her değişiklikten sonra test edin

  4. Değişiklikleri dikkatlice inceleyin - Neyin neden değiştiğini anlamak için diff'i inceleyin

  5. Karmaşık yeniden düzenlemeler için Plan Mode'u kullanın - Olası sorunları yakalamak için yürütmeden önce yaklaşımı inceleyin

Örnek: Güvenli yeniden düzenleme talebi

Refactor the calculateOrderTotal function to use a more maintainable structure, but ensure it produces identical results for all input cases

Verdent şunları yapar:

  • Mevcut uygulamayı ve uç durumları analiz eder
  • Yeniden düzenlenmiş yapıyı önerir
  • Yeniden düzenlenen sürümün neden eşdeğer olduğunu açıklar
  • Eşdeğerliği doğrulamak için test senaryoları önerir

İşlevselliğin değişebileceği durumlar:

Bazı durumlarda, yeniden düzenleme davranışı kasıtlı olarak değiştirir (hataları düzeltme, doğrulamayı iyileştirme). Bunu açıkça belirtin:

Refactor the email validation function to correctly handle international domains, which the current implementation doesn't support

Bu, davranışsal değişikliğin beklendiğini ve kasıtlı olduğunu belirtir.


En iyi uygulamalar

Çözümü değil, sorunu açıklayın

Belirli değişiklikler dayatmak yerine, Verdent'in kodu analiz etmesine ve en iyi yeniden düzenleme yaklaşımını önermesine izin verin.

Yeniden düzenleme için her zaman Plan Mode'u kullanın

Yürütmeden önce tam planı inceleyin. Bu, sürprizleri önler ve mimari hususlara dayalı olarak yaklaşımı iyileştirmenize olanak tanır.

Kapsamlı aramalar için açıkça Explorer'ı kullanın

Kapsamlı yeniden düzenleme için, Verdent'ten tüm örnekleri bulmak üzere Explorer'ı kullanmasını isteyin: "Tüm manuel hata işlemelerini bulmak için Explorer'ı kullan, ardından hata yardımcımızı kullanacak şekilde yeniden düzenle."

Büyük yeniden düzenlemeleri aşamalara bölün

Aşamalar arasında testle birlikte çok aşamalı yaklaşımlar, her şeyi bir kerede denemekten daha güvenli ve daha yönetilebilirdir.

Aşamalar arasında test edin

Bir sonrakine geçmeden önce her aşamanın çalıştığını doğrulayın. Bu, sorunları yalıtır ve sorunların birikmesini önler.

Sık sık commit yapın

Her aşamadan veya büyük değişiklikten sonra kontrol noktaları oluşturmak için sürüm denetimi kullanın. Bu, tüm ilerlemeyi kaybetmeden güvenli geri almaya olanak tanır.

Ekip incelemesi için planları kaydedin

Önemli yeniden düzenlemeler için, yürütmeden önce ekip tartışması amacıyla Verdent'ten planı plan.md dosyasına kaydetmesini isteyin.

Optimizasyon için bağlam sağlayın

Performans iyileştirmeleri talep ederken, veri boyutları, performans kısıtlamaları ve kabul edilebilir ödünleşimler hakkında bilgi ekleyin.


Ayrıca bakın