Kullanın bunu hocam iyi forumlar.
Mevcut yazılımım üzerinde geliştirme ve düzeltme yapmanı istiyorum.
ÖNEMLİ: Bu projede daha önce tema/tasarım değişikliği yapılmıştı. Ancak bundan sonraki geliştirmelerde YENİ TEMA KESİNLİKLE REFERANS ALINMAYACAKTIR.
Ben sana projenin ESKİ VE STABİL çalışan sürümünü yükleyeceğim. Bundan sonraki tüm geliştirmeleri bu sürüm üzerinden yapacaksın.
ANA KURAL:
Eski yazılımın mevcut mimarisini, dosya yapısını, çalışma mantığını, mevcut UI yapısını, CSS yapılarını, componentlerini, API bağlantılarını, veritabanı işlemlerini, fonksiyonlarını ve mevcut tasarımını koru.
Ben özellikle istemediğim sürece:
- Tema değiştirme.
- UI tasarımını yenileme.
- Renkleri değiştirme.
- Fontları değiştirme.
- Componentleri yeniden tasarlama.
- Sayfa düzenlerini değiştirme.
- Responsive yapıyı değiştirme.
- Mevcut CSS yapısını değiştirme.
- Mevcut componentleri başka componentlerle değiştirme.
- Framework veya kütüphane değiştirme.
- Projenin mimarisini değiştirme.
- Dosyaları gereksiz yere taşıma.
- Çalışan kodları refactor etme.
- Çalışan özellikleri yeniden yazma.
- Gereksiz optimizasyon yapma.
- Yeni tasarımda bulunan hiçbir özelliği otomatik olarak eski projeye taşıma.
SADECE BENİM İSTEDİĞİM DEĞİŞİKLİKLERİ YAP.
Örneğin ben:
"X özelliğini ekle"
dersem sadece X özelliğini mevcut yazılım mimarisine ve mevcut tasarım diline uygun şekilde ekle.
"Y hatasını düzelt"
dersem sadece Y hatasını düzelt. Bunun dışında çalışan kodlara dokunma.
ÖNEMLİ: Yeni yüklediğim eski/stabil sürüm, projenin TEK DOĞRU KAYNAĞI olarak kabul edilecek.
Daha önce yaptığımız tema değişikliklerini, yeni tasarımı veya önceki konuşmalardaki tasarım kararlarını referans alma.
Önce yüklediğim projenin mevcut yapısını analiz et.
Kod yazmaya başlamadan önce:
- Projenin klasör/dosya yapısını incele.
- Ana giriş noktalarını tespit et.
- Mevcut UI yapısını incele.
- API ve backend bağlantılarını incele.
- Veritabanı işlemlerini incele.
- Mevcut component/fonksiyon yapısını incele.
- Özelliğin hangi dosyaları etkilediğini belirle.
- Gereksiz dosyalara dokunma.
Daha sonra değişikliği mevcut mimariye minimum müdahale ile uygula.
KODU BOZMAMA PRENSİBİ:
Bir değişiklik yaparken mevcut çalışan özellikleri korumak birincil önceliktir.
Yeni özellik eklerken mevcut özelliklerin çalışma şeklini değiştirme.
Bir dosyada değişiklik yapmak gerekiyorsa, o dosyada yalnızca gerekli bölümleri değiştir.
Gereksiz yere tüm dosyayı baştan yazma.
Mevcut fonksiyonlar çalışıyorsa onları yeniden oluşturma.
Mevcut API endpointlerini değiştirme.
Mevcut database tablolarını, kolonlarını veya sorgularını değiştirme; bunu özellikle istemediğim sürece yapma.
Mevcut authentication/login sistemine dokunma.
Mevcut kullanıcı yetkilendirme sistemine dokunma.
Mevcut URL/routing yapısını değiştirme.
Mevcut responsive davranışı bozma.
GERİYE DÖNÜK UYUMLULUK:
Yeni özellikler mevcut sistemle geriye dönük uyumlu olmalıdır.
Mevcut kullanıcıların ve mevcut verilerin çalışmasını engelleyecek değişiklikler yapma.
Database değişikliği zorunluysa önce bana bildir ve hangi tabloda/kolonda ne değişeceğini açıkla.
BREAKING CHANGE oluşturabilecek herhangi bir değişiklik yapmadan önce beni uyar.
TASARIM KURALI:
Eski/stabil sürümde bulunan tasarım bundan sonra korunacaktır.
Yeni tema, yeni renk paleti veya yeni UI yaklaşımı kesinlikle uygulanmayacaktır.
Yeni bir özellik eklenmesi gerekiyorsa bu özellik mevcut tasarım sistemine uyarlanacaktır.
Örneğin mevcut buton yapısı varsa yeni özellik için yeni bir buton tasarlama; mevcut buton stilini kullan.
Mevcut kart yapısı varsa yeni içerikleri mevcut kart yapısına adapte et.
Mevcut modal yapısı varsa yeni modalı mevcut modal yapısına adapte et.
Kısacası:
YENİ ÖZELLİK → ESKİ TASARIMA UYARLANACAK.
ESKİ TASARIM → YENİ ÖZELLİĞE UYARLANMAYACAK.
DEĞİŞİKLİK ÖNCESİ KONTROL:
Herhangi bir kod değişikliği yapmadan önce bana kısaca:
- Hangi dosyaların değişeceğini
- Hangi fonksiyon/componentlerin etkileneceğini
- Değişikliğin mevcut sisteme etkisini
- Herhangi bir risk olup olmadığını
belirt.
Eğer istediğim değişiklik mevcut kod yapısıyla uyumlu şekilde yapılabiliyorsa mevcut yapıyı koruyarak uygula.
Eğer mevcut mimaride değişiklik yapmak zorunluysa bunu otomatik olarak yapma. Önce neden gerekli olduğunu açıkla.
KOD DEĞİŞİKLİĞİ SONRASI:
Değişiklikten sonra kontrol et:
- Mevcut özellikler çalışıyor mu?
- Yeni özellik çalışıyor mu?
- Console/runtime hatası oluşuyor mu?
- API bağlantıları bozuldu mu?
- Database işlemleri bozuldu mu?
- Responsive yapı bozuldu mu?
- Eski UI/tasarım korunuyor mu?
- Gereksiz dosya veya kod değişikliği yapıldı mı?
ÖZET:
Bu projede senden istediğim şey mevcut yazılımı yeniden tasarlamak değil, mevcut çalışan yazılımı KORUYARAK geliştirmektir.
Eski/stabil proje = SOURCE OF TRUTH.
Yeni tema = REFERANS DEĞİL.
Benim yeni mesajımda açıkça istemediğim hiçbir tasarım değişikliği yapılmayacak.
Ben özellik veya düzeltme istediğimde:
MEVCUT KODU ANALİZ ET → GEREKLİ DOSYAYI BUL → MİNİMUM DEĞİŞİKLİK YAP → MEVCUT SİSTEMİ KORU → TEST ET.
Bu kuralları proje boyunca koru ve sonraki mesajlarımda da bunlara göre hareket et.