Kod ve Teknik Prompt Şablonları
Bu rehber, yazılım geliştirme süreçlerinizi hızlandırmak ve kod kalitenizi artırmak için tasarlanmış kapsamlı prompt şablonlarını içermektedir. Kod yazımından hata ayıklamaya, mimari tasarımdan DevOps a kadar geniş bir yelpazede kullanabileceğiniz şablonlar sunulmaktadır. Her şablon, endüstri standartlarına ve best practice lere uygun olarak hazırlanmıştır.
💻 Kullanım Notu: Şablonlardaki [KÖŞELI PARANTEZ] içindeki alanları kendi projenize göre doldurun. Dil, framework ve teknoloji tercihlerinizi belirtmek daha doğru sonuçlar almanızı sağlar. AI çıktılarını her zaman test edin ve code review yapın.
Kod Yazma Şablonları
Fonksiyon/Metod Yazma
Temiz ve iyi yapılandırılmış kod yazmak için.
[PROGRAMLAMA DİLİ] dilinde bir fonksiyon yaz.
FONKSİYON AMACI: [Ne yapmasını istiyorsun]
GİRDİLER: [Parametre listesi ve tipleri]
ÇIKTI: [Dönüş değeri ve tipi]
EDGE CASE LER: [Özel durumlar varsa]
GEREKSINIMLER:
1. KOD KALİTESİ:
- Clean code prensiplerine uygun
- Anlamlı değişken ve fonksiyon isimleri
- Single Responsibility prensibi
- DRY (Dont Repeat Yourself)
2. HATA YÖNETİMİ:
- Input validation
- Try-catch blokları (gerekirse)
- Anlamlı hata mesajları
3. DOKÜMANTASYON:
- Docstring/JSDoc formatında açıklama
- Parametre açıklamaları
- Dönüş değeri açıklaması
- Örnek kullanım
4. PERFORMANS:
- Zaman karmaşıklığı optimizasyonu
- Bellek kullanımı optimizasyonu
- Gereksiz işlemlerden kaçınma
ÇIKTI FORMATI:
1. FONKSİYON KODU:
[Tam kod]
2. AÇIKLAMA:
- Algoritma mantığı
- Neden bu yaklaşım seçildi
- Zaman karmaşıklığı: O(?)
- Alan karmaşıklığı: O(?)
3. KULLANIM ÖRNEKLERİ:
[En az 3 örnek]
4. TEST CASE LER:
[Temel test senaryoları]
5. EDGE CASE LER:
[Sınır durumları ve nasıl ele alındığı]Sınıf/Class Tasarımı
OOP prensiplerine uygun sınıf oluşturmak için.
[PROGRAMLAMA DİLİ] dilinde bir sınıf tasarla.
SINIF AMACI: [Bu sınıf ne temsil ediyor]
SORUMLULUKLAR: [Bu sınıfın görevleri]
İLİŞKİLER: [Diğer sınıflarla ilişkisi varsa]
TASARIM GEREKSİNİMLERİ:
1. OOP PRENSİPLERİ:
- Encapsulation (private/public dengesi)
- Abstraction (karmaşıklığı gizleme)
- Single Responsibility
- Interface segregation (gerekirse)
2. PROPERTY LER:
Her property için:
- İsim ve tip
- Erişim seviyesi
- Validation kuralları
- Default değer
3. METODLAR:
Her metod için:
- Constructor
- Getter/Setter lar
- İş mantığı metodları
- Yardımcı metodlar
4. DESIGN PATTERN:
Uygun pattern varsa uygula:
- Factory
- Builder
- Singleton
- Observer
- vb.
ÇIKTI:
1. SINIF DİYAGRAMI (metin olarak):
[Basit UML benzeri gösterim]
2. TAM KOD:
[Dokümantasyon dahil]
3. KULLANIM ÖRNEĞİ:
[Sınıfın nasıl kullanılacağı]
4. BİRİM TESTLERİ:
[Temel test senaryoları]
5. GENİŞLETME ÖNERİLERİ:
[Gelecekte eklenebilecek özellikler]Algoritma Implementasyonu
Algoritmaları doğru ve verimli şekilde kodlamak için.
[ALGORİTMA ADI] algoritmasını [PROGRAMLAMA DİLİ] dilinde implemente et.
PROBLEM TANIMI: [Çözülecek problem]
GİRDİ FORMATI: [Beklenen girdi yapısı]
ÇIKTI FORMATI: [Beklenen çıktı yapısı]
KISITLAMALAR: [Boyut, zaman limitleri vb.]
İMPLEMENTASYON:
1. ALGORİTMA AÇIKLAMASI:
- Temel mantık
- Adım adım işleyiş
- Pseudocode
2. KOD:
- Okunabilir ve yorumlu
- Modüler yapı
- Helper fonksiyonlar ayrı
3. KARMAŞıKLIK ANALİZİ:
- Zaman karmaşıklığı: Best/Average/Worst case
- Alan karmaşıklığı
- Analiz açıklaması
4. OPTİMİZASYON:
- Memoization uygulanabilir mi
- Early termination mümkün mü
- Space-time tradeoff seçenekleri
5. EDGE CASE LER:
- Boş girdi
- Tek elemanlı girdi
- Büyük veri seti
- Negatif değerler
- Duplicate değerler
6. TEST SUITE:
[Kapsamlı test senaryoları]
7. ALTERNATİF YAKLAŞIMLAR:
- Başka hangi algoritmalar kullanılabilir
- Avantaj/dezavantaj karşılaştırmasıHata Ayıklama (Debugging) Şablonları
Hata Analizi ve Çözümü
Kod hatalarını sistematik olarak çözmek için.
Kodumdaki hatayı bul ve düzelt.
PROGRAMLAMA DİLİ: [...]
FRAMEWORK/KÜTÜPHANE: [Varsa]
HATALI KOD:
[Kodu buraya yapıştır]
HATA MESAJI:
[Tam hata mesajı]
BEKLENEN DAVRANIŞ:
[Kodun ne yapması gerekiyordu]
GERÇEKLEŞEN DAVRANIŞ:
[Kod ne yapıyor]
DENENEN ÇÖZÜMLER:
[Varsa denediğin şeyler]
ANALİZ İSTEĞİ:
1. HATA TESPİTİ:
- Hatanın tam yeri (satır numarası)
- Hata türü (syntax/runtime/logic/semantic)
- Hatanın kök nedeni
2. AÇIKLAMA:
- Neden bu hata oluşuyor
- Hangi koşullarda tetikleniyor
- Benzer hataları nasıl tanırım
3. ÇÖZÜM:
- Düzeltilmiş kod
- Değişikliklerin açıklaması
- Alternatif çözümler varsa
4. ÖNLEME:
- Bu tür hataları nasıl önlerim
- Best practice önerileri
- Linting/static analysis önerileri
5. TEST:
- Düzeltmeyi doğrulayacak test
- Regression önlemePerformance Debugging
Yavaş çalışan kodu optimize etmek için.
Kodumun performans sorununu analiz et.
PROGRAMLAMA DİLİ: [...]
ORTAM: [Development/Production]
YAVAŞ KOD:
[Kodu yapıştır]
PERFORMANS VERİLERİ:
- Mevcut çalışma süresi: [...]
- Hedef süre: [...]
- Veri boyutu: [...]
- Bellek kullanımı: [...]
ANALİZ:
1. DARBOĞAZ TESPİTİ:
- Hangi bölüm yavaş
- Neden yavaş
- Profiling önerisi
2. KARMAŞıKLIK ANALİZİ:
- Mevcut zaman karmaşıklığı
- Mevcut alan karmaşıklığı
- Hedef karmaşıklık
3. OPTİMİZASYON ÖNERİLERİ:
Öncelik sırasıyla:
Öneri 1:
- Değişiklik
- Beklenen iyileşme
- Trade-off
Öneri 2:
[Aynı yapı]
Öneri 3:
[Aynı yapı]
4. OPTİMİZE EDİLMİŞ KOD:
[Düzeltilmiş versiyon]
5. BENCHMARK:
- Nasıl ölçülmeli
- Önce/sonra karşılaştırma
6. EK ÖNERİLER:
- Caching stratejileri
- Lazy loading
- Parallelization
- Database optimizasyonuMemory Leak Tespiti
Bellek sızıntılarını bulmak ve düzeltmek için.
Kodumdaki memory leak sorununu analiz et.
PROGRAMLAMA DİLİ: [...]
UYGULAMA TÜRÜ: [Web/Mobile/Desktop/Backend]
ŞÜPHELİ KOD:
[Kodu yapıştır]
SEMPTOMLAR:
- Bellek kullanımı sürekli artıyor mu: [...]
- Uygulama yavaşlıyor mu: [...]
- Crash oluyor mu: [...]
- Ne kadar sürede oluşuyor: [...]
ANALİZ:
1. LEAK KAYNAKLARI:
Kontrol edilecek alanlar:
- Event listener temizliği
- Timer/Interval temizliği
- Subscription yönetimi
- Closure referansları
- Global değişkenler
- DOM referansları (web için)
- Cache yönetimi
2. TESPİT EDİLEN SORUNLAR:
Her sorun için:
- Konum
- Neden leak oluşturuyor
- Potansiyel etki
3. DÜZELTMELER:
[Düzeltilmiş kod]
4. ÖNLEME PATTERN LERİ:
- Dispose/cleanup pattern
- WeakRef kullanımı
- Object pooling
5. TEST VE İZLEME:
- Memory profiling nasıl yapılır
- Hangi tool kullanılmalı
- Monitoring stratejisiKod İnceleme (Code Review) Şablonları
Kapsamlı Kod Review
Kod kalitesini değerlendirmek için.
Bu kodu kapsamlı şekilde incele.
PROGRAMLAMA DİLİ: [...]
PROJE BAĞLAMI: [Ne tür bir proje]
KOD TÜRÜ: [Feature / Bugfix / Refactoring]
İNCELENECEK KOD:
[Kodu yapıştır]
İNCELEME KRİTERLERİ:
1. İŞLEVSELLİK:
- Kod beklenen işi yapıyor mu
- Edge case ler ele alınmış mı
- Hata yönetimi yeterli mi
2. OKUNABILIRLIK:
- Değişken/fonksiyon isimleri anlamlı mı
- Kod kendini açıklıyor mu
- Yorum gerekli mi/var mı
3. BAKIM KOLAYLIĞI:
- Modüler yapı
- Single Responsibility
- Bağımlılık yönetimi
4. PERFORMANS:
- Verimsiz pattern var mı
- Gereksiz işlem var mı
- N+1 query sorunu var mı
5. GÜVENLİK:
- Input validation
- SQL injection riski
- XSS riski
- Sensitive data exposure
6. TEST EDILEBİLİRLİK:
- Unit test yazılabilir mi
- Dependency injection uygun mu
- Mock lanabilir mi
7. BEST PRACTICES:
- Dil/framework convention ları
- SOLID prensipleri
- DRY prensibi
ÇIKTI FORMATI:
ÖZET:
[Genel değerlendirme]
OLUMLU NOKTALAR:
[İyi yapılmış şeyler]
GELİŞTİRME ÖNERİLERİ:
Öncelik: Kritik / Önemli / Öneri
Her öneri için:
- Satır/bölüm
- Sorun
- Öneri
- Örnek düzeltme
NİTEL PUANLAMA (1-10):
- Okunabilirlik: X/10
- Güvenlik: X/10
- Performans: X/10
- Best practices: X/10Security Code Review
Güvenlik açıklarını tespit etmek için.
Bu kodun güvenlik analizini yap.
PROGRAMLAMA DİLİ: [...]
UYGULAMA TÜRÜ: [Web/API/Mobile/Desktop]
FRAMEWORK: [...]
KOD:
[Kodu yapıştır]
GÜVENLİK ANALİZİ:
1. INPUT VALIDATION:
- User input doğrulanıyor mu
- Whitelist vs blacklist yaklaşımı
- Type checking
2. INJECTION RISKLERI:
- SQL Injection
- NoSQL Injection
- Command Injection
- LDAP Injection
- XPath Injection
3. XSS (Cross-Site Scripting):
- Reflected XSS
- Stored XSS
- DOM-based XSS
- Output encoding
4. AUTHENTICATION/AUTHORIZATION:
- Kimlik doğrulama kontrolleri
- Yetkilendirme kontrolleri
- Session yönetimi
- Token güvenliği
5. SENSITIVE DATA:
- Hardcoded credentials
- Sensitive data logging
- Encryption kullanımı
- Data exposure
6. ERROR HANDLING:
- Stack trace exposure
- Verbose error messages
- Information leakage
7. OWASP TOP 10 KONTROLÜ:
Her madde için uygunluk değerlendirmesi
BULGULAR:
Kritik:
[Acil düzeltilmesi gerekenler]
Yüksek:
[Önemli güvenlik riskleri]
Orta:
[Potansiyel riskler]
Düşük:
[İyileştirme önerileri]
DÜZELTME ÖNERİLERİ:
Her bulgu için düzeltilmiş kod örneğiMimari Tasarım Şablonları
Sistem Mimarisi Tasarımı
Ölçeklenebilir sistem mimarisi oluşturmak için.
[PROJE ADI] için sistem mimarisi tasarla.
PROJE TANIMI:
[Projenin ne yaptığı]
GEREKSINIMLER:
Fonksiyonel:
- [Özellik 1]
- [Özellik 2]
- [Özellik 3]
Non-Fonksiyonel:
- Beklenen kullanıcı sayısı: [...]
- Beklenen istek/saniye: [...]
- Uptime gereksinimi: [...]%
- Latency hedefi: [...]ms
- Data boyutu: [...]
KISITLAMALAR:
- Bütçe: [...]
- Ekip büyüklüğü: [...]
- Teknoloji tercihleri: [...]
- Mevcut altyapı: [...]
MİMARİ TASARIMI:
1. YÜKSEK SEVİYE MİMARİ:
- Mimari stil (Monolith/Microservices/Serverless)
- Gerekçe
- Diyagram (metin olarak)
2. BİLEŞENLER:
Her bileşen için:
- Adı ve sorumluluğu
- Teknoloji seçimi
- API/Interface tanımı
- Bağımlılıklar
3. VERİ MİMARİSİ:
- Database seçimi ve gerekçe
- Schema tasarımı
- Data flow
- Caching stratejisi
4. İLETİŞİM:
- Servisler arası iletişim
- Sync vs Async
- Message queue kullanımı
- API gateway
5. ÖLÇEKLENEBİLİRLİK:
- Horizontal scaling stratejisi
- Load balancing
- Auto-scaling kuralları
- Database scaling
6. GÜVENLİK:
- Authentication/Authorization
- Network security
- Data encryption
- Secret management
7. DEPLOYMENT:
- CI/CD pipeline
- Container strategy
- Orchestration
- Environment yönetimi
8. İZLEME VE LOGGING:
- Monitoring stack
- Alerting
- Distributed tracing
- Log aggregation
9. DISASTER RECOVERY:
- Backup stratejisi
- Failover mekanizması
- RTO/RPO hedefleri
10. MALİYET TAHMİNİ:
- Infrastructure maliyeti
- Scaling maliyeti
- Aylık tahmini maliyetDatabase Şema Tasarımı
Veritabanı yapısını planlamak için.
[PROJE ADI] için veritabanı şeması tasarla.
PROJE AÇIKLAMASI: [...]
VERİTABANI TÜRÜ: [SQL / NoSQL / Her ikisi]
KULLANILACAK DBMS: [PostgreSQL / MySQL / MongoDB / vb.]
ENTITY LER VE İLİŞKİLER:
[Ana varlıkları listele]
TASARIM:
1. ER DİYAGRAMI (metin olarak):
[Entity-Relationship gösterimi]
2. TABLOLAR/COLLECTION LAR:
Her tablo için:
Tablo: [isim]
Açıklama: [ne tutuyor]
Kolonlar:
- [kolon_adi] [tip] [constraint ler] [açıklama]
Primary Key: [...]
Foreign Key ler: [...]
Index ler: [...]
3. İLİŞKİLER:
- One-to-One
- One-to-Many
- Many-to-Many (junction table ile)
4. NORMALİZASYON:
- Uygulanan normal form
- Denormalization kararları ve gerekçeleri
5. INDEX STRATEJİSİ:
- Hangi kolonlar index lenmeli
- Index türleri (B-tree, Hash, GIN vb.)
- Composite index ler
6. PARTITION STRATEJİSİ:
- Partition gerekli mi
- Partition key seçimi
- Partition türü
7. ÖRNEK QUERY LER:
Yaygın use case ler için optimum query ler
8. MİGRATION SCRIPT:
[DDL statements]
9. SEED DATA:
[Örnek veri ekleme]
10. PERFORMANS NOTLARI:
- Query optimization ipuçları
- N+1 önleme
- Connection poolingAPI Tasarımı
RESTful veya GraphQL API tasarlamak için.
[PROJE ADI] için API tasarla.
API TÜRÜ: [REST / GraphQL / gRPC]
AMAÇ: [API ne yapacak]
HEDEF KULLANICILAR: [Internal / External / Public]
KAYNAKLAR/ENTITY LER:
[API nin sunacağı kaynaklar]
API TASARIMI:
1. ENDPOINT LISTESI:
Her endpoint için:
[HTTP METHOD] [PATH]
Açıklama: [...]
Auth: [Required / Optional / None]
Rate limit: [...]
Request:
- Headers: [...]
- Path params: [...]
- Query params: [...]
- Body: [JSON schema]
Response:
- Success (2XX): [JSON schema]
- Error (4XX/5XX): [Error format]
2. AUTHENTICATION:
- Auth yöntemi (JWT / OAuth / API Key)
- Token format
- Refresh stratejisi
3. VERSIONING:
- Versiyon stratejisi (URL / Header)
- Backward compatibility
4. ERROR HANDLING:
Standart error format:
- Error code yapısı
- Error message standardı
- Validation error formatı
5. PAGINATION:
- Cursor vs Offset
- Page size limitleri
- Response format
6. FILTERING VE SORTING:
- Query parameter convention
- Desteklenen operatörler
7. RATE LIMITING:
- Limit değerleri
- Header lar
- 429 response handling
8. OPENAPI/SWAGGER SPEC:
[Tam OpenAPI specification]
9. ÖRNEK REQUEST/RESPONSE:
Her endpoint için curl örnekleri
10. SDK NOTLARI:
- Client SDK önerileri
- Code generationTest Yazma Şablonları
Unit Test Suite
Kapsamlı unit test yazmak için.
[FONKSIYON/CLASS ADI] için unit test yaz.
PROGRAMLAMA DİLİ: [...]
TEST FRAMEWORK: [Jest / PyTest / JUnit / vb.]
TEST EDİLECEK KOD:
[Kodu yapıştır]
TEST SUITE:
1. TEST YAPISI:
- Describe/Context blokları
- Given-When-Then formatı
- AAA pattern (Arrange-Act-Assert)
2. TEST KATEGORILERI:
Happy Path Tests:
- Normal input ile beklenen davranış
- [Test case ler]
Edge Case Tests:
- Sınır değerler
- Boş input
- Null/undefined
- Maximum değerler
- [Test case ler]
Error Cases:
- Invalid input
- Exception handling
- [Test case ler]
Integration Points:
- Mock gerektiren yerler
- Stub kullanımı
- [Test case ler]
3. MOCK VE STUB:
Her dependency için:
- Ne mock lanacak
- Mock implementation
4. TEST KODU:
[Tam test suite kodu]
5. COVERAGE HEDEFİ:
- Line coverage: %X
- Branch coverage: %X
- Function coverage: %X
6. TEST ÇALIŞTIRMA:
- Komut
- CI/CD entegrasyonuIntegration Test
Bileşenler arası entegrasyonu test etmek için.
[MODUL/SERVİS] için integration test yaz.
TEST ORTAMI: [...]
BAĞIMLILIKLAR: [Database, External API, vb.]
TEST EDİLECEK AKIŞ:
[Entegrasyon senaryosu]
INTEGRATION TEST:
1. TEST ORTAMI KURULUMU:
- Database setup
- Test containers
- Mock server lar
- Environment variables
2. TEST DATA:
- Fixture lar
- Factory ler
- Seed data
3. TEST SENARYOLARI:
Senaryo 1: [Adı]
- Precondition
- Steps
- Expected result
- Cleanup
Senaryo 2: [Adı]
[Aynı yapı]
4. API TEST (varsa):
- Endpoint test leri
- Request/Response validation
- Status code kontrolleri
5. DATABASE TEST:
- CRUD operasyonları
- Transaction davranışı
- Constraint ler
6. ERROR SENARYOLARI:
- Network failure
- Timeout
- Invalid data
7. TEST KODU:
[Tam test kodu]
8. CLEANUP:
- Test sonrası temizlik
- Database resetDevOps ve Altyapı Şablonları
Docker Konfigürasyonu
Container yapılandırması oluşturmak için.
[PROJE ADI] için Docker konfigürasyonu oluştur.
UYGULAMA BİLGİLERİ:
- Programlama dili: [...]
- Framework: [...]
- Node/Python/Java versiyonu: [...]
- Bağımlılıklar: [...]
- Port: [...]
ORTAM: [Development / Production / Her ikisi]
DOCKERFILE:
1. BASE IMAGE SEÇİMİ:
- Önerilen image ve versiyon
- Neden bu seçim
2. MULTI-STAGE BUILD:
- Build stage
- Production stage
- Image boyutu optimizasyonu
3. SECURITY:
- Non-root user
- Minimal permissions
- Secret handling
4. DOCKERFILE:
[Tam Dockerfile]
5. .DOCKERIGNORE:
[Dosya içeriği]
6. DOCKER-COMPOSE (Development):
[docker-compose.yml]
7. DOCKER-COMPOSE (Production):
[docker-compose.prod.yml]
8. BUILD VE RUN KOMUTLARI:
- Build: [...]
- Run: [...]
- Debug: [...]
9. HEALTH CHECK:
- Endpoint
- Configuration
10. BEST PRACTICES:
- Layer caching
- Build arg kullanımı
- Environment variablesCI/CD Pipeline
Otomatik build ve deployment pipeline oluşturmak için.
[PROJE ADI] için CI/CD pipeline oluştur.
PLATFORM: [GitHub Actions / GitLab CI / Jenkins / vb.]
PROJE TÜRÜ: [Web app / API / Library / vb.]
DEPLOYMENT HEDEFİ: [AWS / GCP / Azure / Kubernetes / vb.]
PIPELINE GEREKSİNİMLERİ:
- Branch stratejisi: [GitFlow / Trunk-based]
- Environment lar: [Dev / Staging / Prod]
- Manuel approval gerekli mi: [...]
PIPELINE TASARIMI:
1. TRIGGER RULES:
- Hangi branch larda çalışacak
- Tag based release
- Manual trigger
2. STAGES:
Stage: Build
- Dependency installation
- Compilation
- Asset building
Stage: Test
- Unit tests
- Integration tests
- Coverage report
Stage: Quality
- Linting
- Static analysis
- Security scan
Stage: Build Artifact
- Docker build
- Version tagging
- Registry push
Stage: Deploy (per environment)
- Configuration
- Deployment
- Health check
- Rollback strategy
3. PIPELINE KODU:
[Tam pipeline configuration]
4. SECRETS YÖNETİMİ:
- Gerekli secret lar
- Nasıl saklanacak
- Nasıl kullanılacak
5. NOTIFICATIONS:
- Success/Failure bildirimleri
- Slack/Email integration
6. CACHING:
- Dependency cache
- Build cache
- Docker layer cache
7. ROLLBACK PROSEDÜRÜ:
- Otomatik rollback koşulları
- Manuel rollback adımlarıKubernetes Deployment
Kubernetes kaynaklarını yapılandırmak için.
[UYGULAMA ADI] için Kubernetes manifest leri oluştur.
UYGULAMA BİLGİLERİ:
- Image: [...]
- Port: [...]
- Replicas: [...]
- Resource requirements: [CPU/Memory]
KUBERNETES KAYNAKLARI:
1. DEPLOYMENT:
[deployment.yaml]
2. SERVICE:
[service.yaml]
3. CONFIGMAP:
[configmap.yaml]
4. SECRET:
[secret.yaml template]
5. INGRESS:
[ingress.yaml]
6. HPA (Horizontal Pod Autoscaler):
[hpa.yaml]
7. PDB (Pod Disruption Budget):
[pdb.yaml]
8. RESOURCE QUOTAS:
[resourcequota.yaml]
9. NETWORK POLICY:
[networkpolicy.yaml]
10. KUSTOMIZATION (opsiyonel):
[kustomization.yaml]
DEPLOYMENT KOMUTLARI:
- kubectl apply komutları
- Rollout stratejisi
- Rollback komutları
MONITORING:
- Prometheus annotations
- Liveness/Readiness probe konfigürasyonu
BEST PRACTICES:
- Label conventions
- Resource limits
- Security contextRefactoring Şablonları
Kod Refactoring
Mevcut kodu iyileştirmek için.
Bu kodu refactor et.
PROGRAMLAMA DİLİ: [...]
MEVCUT KOD:
[Kodu yapıştır]
SORUNLAR (bildiklerim):
[Varsa bilinen sorunlar]
REFACTORING HEDEFLERİ:
[Seç: Okunabilirlik / Performans / Testability / SOLID / Hepsi]
REFACTORING ANALİZİ:
1. CODE SMELLS TESPİTİ:
- Long method
- Large class
- Duplicate code
- Dead code
- Magic numbers
- Deep nesting
- Long parameter list
- Feature envy
- [Diğerleri]
2. REFACTORING PLANI:
Adım 1: [...]
Adım 2: [...]
Adım 3: [...]
3. UYGULANAN TEKNIKLER:
Her teknik için:
- Teknik adı
- Nerede uygulandı
- Neden
4. REFACTORED KOD:
[Yeni kod]
5. ÖNCE/SONRA KARŞILAŞTIRMASI:
- Satır sayısı
- Complexity metrikleri
- Dependency sayısı
6. BREAKING CHANGES:
- API değişiklikleri
- Geriye uyumluluk notları
7. TEST GÜNCELLEMELERI:
- Değişmesi gereken testler
- Yeni testlerLegacy Code Modernizasyonu
Eski kodu modernize etmek için.
Bu legacy kodu modernize et.
MEVCUT TEKNOLOJİ: [...]
HEDEF TEKNOLOJİ: [...]
PROJE BAĞLAMI: [...]
LEGACY KOD:
[Kodu yapıştır]
MODERNİZASYON:
1. ANALİZ:
- Mevcut yapının değerlendirmesi
- Teknik borç tespiti
- Risk alanları
2. MODERNİZASYON STRATEJİSİ:
- Big bang vs Incremental
- Strangler fig pattern
- Parallel run
3. ADIM ADIM PLAN:
Faz 1: [Hazırlık]
- Test coverage artırma
- Documentation
- Dependency analizi
Faz 2: [Temel modernizasyon]
- [Değişiklikler]
Faz 3: [İleri modernizasyon]
- [Değişiklikler]
4. MODERNİZE EDİLMİŞ KOD:
[Yeni kod]
5. MİGRASYON NOTLARI:
- Data migration
- API compatibility
- Rollback planı
6. TEST STRATEJİSİ:
- Regression testing
- Parallel testing
- Performance comparisonTeknik İpuçları
Kod Yazarken:
- Her zaman önce problemi anlayın, sonra kodlayın
- Küçük, tek sorumluluğu olan fonksiyonlar yazın
- Erken optimize etmeyin, önce çalışsın sonra optimize edin
- Test yazmayı ihmal etmeyin
- Code review isteyin ve yapın
AI ile Kod Yazarken:
- Context verin, ne kadar çok bilgi o kadar iyi sonuç
- Tek seferde büyük kod istemeyin, parçalayın
- AI kodunu mutlaka review edin
- Test edin, özellikle edge case leri
- Security açısından kontrol edin
- Copy-paste yapmadan önce anlayın
Debugging İçin:
- Sorunu reproduce edin
- En basit case ile başlayın
- Varsayımlarınızı sorgulayın
- Log ve breakpoint kullanın
- Rubber duck debugging deneyin
Best Practices:
- Version control kullanın
- Meaningful commit mesajları yazın
- Branch stratejiniz olsun
- Documentation yazın
- Sürekli öğrenmeye devam edin
Rehberler Arasında Gezin