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 duplicationThis authentication logic is scattered across multiple files. Consolidate it into a single moduleImprove error handling in the API layer to be more consistent and informativeVerdent 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:
- Kodu analiz eder ve etkilenen tüm dosyaları belirler
- Değişiklik yapmadan önce ayrıntılı bir yeniden düzenleme planı sunar
- Uygulama tercihleri hakkında açıklayıcı sorular sorar
- Tam olarak neyin ve hangi sırayla değişeceğini gösterir
- 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 utilityVerdent ş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 utilityBu, 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:
- Keşif aşaması: Verdent (Explorer kullanarak) değişiklik gerektiren tüm dosyaları bulur
- Bağımlılık analizi: Güncelleme sırasını belirlemek için dosyalar arasındaki bağımlılıkları tespit eder
- Plan oluşturma: Değiştirilecek tüm dosyaları ve değişikliklerin sırasını gösterir
- 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)
- İçe aktarma yönetimi: İçe aktarmaları, dışa aktarmaları ve dosyalar arası referansları otomatik olarak günceller
- 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 projectVerdent ş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 AuthServiceVerdent ş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 improvementsSuggest ways to improve code quality in the UserService moduleAre there any performance optimizations we could make here?Analyze the PaymentController for maintainability issuesVerdent 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 complexityVerdent, 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.0Verdent 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:
- Plan Mode'da Aşama 1'i onaylayın
- Agent Mode'a geçin ve yürütün
- Aşama 1'in çalıştığını doğrulamak için kapsamlı test yapın
- Aşama 2 için Plan Mode'a dönün
- 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 improvementsCan 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-rendersVerdent'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 handlerVerdent'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:
-
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
-
Sürüm denetimi kullanın - Sorunlar ortaya çıkarsa geri alabilmek için yeniden düzenlemeden önce commit yapın
-
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
-
Değişiklikleri dikkatlice inceleyin - Neyin neden değiştiğini anlamak için diff'i inceleyin
-
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 casesVerdent ş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 supportBu, 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.