1.
halk dilinde anlatım ile "kod çalışıyor ama biraz dağınık olmuş. hadi bunu güzelce toparlayalım." durumu. yazılım dünyası için bir çeşit cilalama, düzenleme işlemidir.
yeni işlevler oluşturmadan, bozmadan varolan yapıyı daha temiz, anlaşılır ve düzenli bir hale getirmektir.
örneğin;
-aynı işi daha az satırla yapmak *
(kod optimizasyonu)
- fonsikyonlara ve değişkenler daha anlaşılır isimler koymak
-öğretici ve hatırlatıcı yorum satırları
-gereksiz tekrarları ve kullanılmayacak çöp kodları temizlemek
-büyük fonksiyonları bölmek ya da benzer küçük fonksiyonları birleştirmek
-dosya yapısını düzenlemek
gibi şeyleri vardır. benim gibi çok teknik bilmeden vibe coding ilerliyorsanız ve kod satırı 2000 lere geldiyse, kontrolü kaybetmemek adına yapmak şart, hatta tecrübeli olsaydım en başından yapardım. şu an çok ilerlediğimden tek dosya üzerinde çalışıyorum ama esasen main*, data set *, tema gibi bir dosya yapısı olsa daha kolay olurdu.ilk deneyimim baya tecrübe kattı, katmaya devam ediyor.
yeni işlevler oluşturmadan, bozmadan varolan yapıyı daha temiz, anlaşılır ve düzenli bir hale getirmektir.
örneğin;
-aynı işi daha az satırla yapmak *
(kod optimizasyonu)
- fonsikyonlara ve değişkenler daha anlaşılır isimler koymak
-öğretici ve hatırlatıcı yorum satırları
-gereksiz tekrarları ve kullanılmayacak çöp kodları temizlemek
-büyük fonksiyonları bölmek ya da benzer küçük fonksiyonları birleştirmek
-dosya yapısını düzenlemek
gibi şeyleri vardır. benim gibi çok teknik bilmeden vibe coding ilerliyorsanız ve kod satırı 2000 lere geldiyse, kontrolü kaybetmemek adına yapmak şart, hatta tecrübeli olsaydım en başından yapardım. şu an çok ilerlediğimden tek dosya üzerinde çalışıyorum ama esasen main*, data set *, tema gibi bir dosya yapısı olsa daha kolay olurdu.ilk deneyimim baya tecrübe kattı, katmaya devam ediyor.
devamını gör...
2.
kısaca yeniden düzenleme ve iyileştirme. bugün günüm bununla geçti, artık baya bir hakimim koda, yarında modüler yapıya geçiş yapacağım, ardından katmanlı mimariye geçiş planım var. şu an 3600+ satır kod var. yprum satırları ekledim, düzenledim. açık kaynak olacağı için anlaması lazım milletin.
işin en güzel yanı tüm fonksiyonlara hakimim genel olarak ne yaptıklarını biliyorum.
fonksiyon adları ingilizce ama yorum satırları şu an türkçe ama ingilizce yapması basit, copilot ajana kardeşim yorum satırlarımı ingilizceye çevir diyeceğim hatta türkçelerinin altına english diye ekleme yap diyeceğim yapacak. oğlum çok güzel bir şey teknoloji.
kod okuya okuya kodu yazmayı bilmeden anlamayı çözdüm neredeyse (python ya söz dizimi anlaşılır oluyor), daha iyisi genel olarak yazılımın mantığını kavradım gibi. neyi neden yapıyoruz anladım ve ihtimaller görünce insan hayret ediyor şu uygulama bitsin adam akıllı bir c# a başlayacağım. ya da başka dile aklımla rust da var bilmiyorum. python aşırı yavaş olduğundan python yanlısı değilim. büyük verilerde yavaş çalışıyor. sebebide derlenen değil yorumlanan bir dil olması.
işin en güzel yanı tüm fonksiyonlara hakimim genel olarak ne yaptıklarını biliyorum.
fonksiyon adları ingilizce ama yorum satırları şu an türkçe ama ingilizce yapması basit, copilot ajana kardeşim yorum satırlarımı ingilizceye çevir diyeceğim hatta türkçelerinin altına english diye ekleme yap diyeceğim yapacak. oğlum çok güzel bir şey teknoloji.
kod okuya okuya kodu yazmayı bilmeden anlamayı çözdüm neredeyse (python ya söz dizimi anlaşılır oluyor), daha iyisi genel olarak yazılımın mantığını kavradım gibi. neyi neden yapıyoruz anladım ve ihtimaller görünce insan hayret ediyor şu uygulama bitsin adam akıllı bir c# a başlayacağım. ya da başka dile aklımla rust da var bilmiyorum. python aşırı yavaş olduğundan python yanlısı değilim. büyük verilerde yavaş çalışıyor. sebebide derlenen değil yorumlanan bir dil olması.
devamını gör...
3.
bugünde çoğunlukla bununla geçti, baya verimliydi. 3700 satır kodu 3300 e falan getirdim ve işlevler aynı. eski yapıdan kalan kullanılmayan kod blokları, değişkenler, tekrar kullanım gibi şeyleri temizledim, düzenlemeler yaptım, yeni yorum satırları ekledim. bazı hataları çözdüm, yeni özellikler ekledim, arayüzü düzenledim, windows işletim sisteminde db (veri tabanı) dosyalarının çalışma mantığını kavradım biraz, mesela klasörü ayırmak veri izolasyonu için güvenli değilmiş, test aşamasında olduğundan pek sorun olmadı , aynı isimde tüm db dosyalarını silince halloldu. lakin benim github ya da git gibi version kontrolüne geçmem şart oldu, mağara adamı gibi garip isimli dosyalarla tehlikeli davranıyorum.
yalnız yapay zekaya binlerce kod atıp, iş yaptırırken. attığı kodları okuyordum, artım anlamış olacağım ki ufak kısımları kendim yapıyorum artık. mesela esc ile basınca kapanmasını ve pencere açıkken baska pencere açılmamasıni sağladım yeni eklediğim bir özelliğe. önceki yapılardan kopya çektim. ilk bir yerde open windows yani açık pencereler için değişken atamış ardından bu değişkenleri çağırıyorsun belli fonksiyonlar ile aynısını geçirip isimleri değiştirince oldu. resmen bildiğin niş uygulma yaptım ya la, üstelik performansıda güzel 500 bin kelime ekledim tek sekmeye yine çekmedi ve kategoriler arası geçiş 1 saniyenin altında 100 bin kelimeden 5 kategoriye paylaştırmıştım. üstelik daha index sistemi getirmedim onuda yapınca süreler daha çok düşecek ama şu an bile kullanılır seviyede.
yalnız yapay zekaya binlerce kod atıp, iş yaptırırken. attığı kodları okuyordum, artım anlamış olacağım ki ufak kısımları kendim yapıyorum artık. mesela esc ile basınca kapanmasını ve pencere açıkken baska pencere açılmamasıni sağladım yeni eklediğim bir özelliğe. önceki yapılardan kopya çektim. ilk bir yerde open windows yani açık pencereler için değişken atamış ardından bu değişkenleri çağırıyorsun belli fonksiyonlar ile aynısını geçirip isimleri değiştirince oldu. resmen bildiğin niş uygulma yaptım ya la, üstelik performansıda güzel 500 bin kelime ekledim tek sekmeye yine çekmedi ve kategoriler arası geçiş 1 saniyenin altında 100 bin kelimeden 5 kategoriye paylaştırmıştım. üstelik daha index sistemi getirmedim onuda yapınca süreler daha çok düşecek ama şu an bile kullanılır seviyede.
devamını gör...
4.

gerekeni yaptık ve düzeni getirdik ama daha tek dosyada, bunu modüler yapmam lazım. şu an yine gayet düzenli okunur durumda ama gelecekte daha rahat bakım ve düzenleme için modülerlik şart. 4300 satır nedir oğlum, hiç düşünmüyordum bu kadar büyüyeceğini projenin. başlığı açtığımda 2000 lere ulaşmışım, şimdi 2 katını geçtim.
neyse az kaldı az...
devamını gör...
5.
kodun iyileştirilmesi ve pasta cila çekilmesi, lakin adamın başını ağrıtır gerçek anlamda, daha sonra devam eedeceğim şimdilik baya bir parçaladım, monolotik kod yapsıından kurtulacağım böyle böyle.
boşluksuz satır sayısı: 8.854 satır
boşluklarla beraber : 9.681
dosya sayısı : 23 dosya ( 1 tanesi c dosyası, 1000 satırı var, veri görüntüleyici motoru için)
boşluksuz sayılar
main.py → 2944 ( 6500 küsürden indirdim ama en fazla 1500 falan olmalı profesyonel yapı için hala içi dolu)
viewer.c → 972
word_windows.py → 878
database.py → 575
export_manager.py → 580
localization.py → 509
session_manager.py → 344
actions.py → 249
ui_helpers.py → 240
flashcards.py → 206
test_utils.py → 213
settings.py → 180
word_engine.py → 165
backup_manager.py → 146
neural_viewer.py → 113
splash_manager.py → 108
language_manager.py → 106
shortcuts.py → 82
printer.py → 63
list_manager.py → 65
themes.py → 53
emergency_exit.py → 38
config.py → 25
boşluksuz satır sayısı: 8.854 satır
boşluklarla beraber : 9.681
dosya sayısı : 23 dosya ( 1 tanesi c dosyası, 1000 satırı var, veri görüntüleyici motoru için)
boşluksuz sayılar
main.py → 2944 ( 6500 küsürden indirdim ama en fazla 1500 falan olmalı profesyonel yapı için hala içi dolu)
viewer.c → 972
word_windows.py → 878
database.py → 575
export_manager.py → 580
localization.py → 509
session_manager.py → 344
actions.py → 249
ui_helpers.py → 240
flashcards.py → 206
test_utils.py → 213
settings.py → 180
word_engine.py → 165
backup_manager.py → 146
neural_viewer.py → 113
splash_manager.py → 108
language_manager.py → 106
shortcuts.py → 82
printer.py → 63
list_manager.py → 65
themes.py → 53
emergency_exit.py → 38
config.py → 25
devamını gör...
6.
yazılım dünyasında bir zorunluluk gibi bir şey, üstelik ne kadar geç başlanırsa ve ertelenirse o kadar zorlaşır çünkü teknik borç yükü artar. siz siz olun refactoring ertelemeyin.
#3866132 3-4 gün geçmiş aradan
şu an bugün yaptığım refactoring ile
ortalama 10 bin satır kod içeren yapıdaki main.py dosyamı ortalama 3000 satırdan 2500 satıra indirdim*. daha doğrusu modüler yapıya geçirdiğim fonksiyonlardan sonra bu sayıya geriledi. toplam satır azalmadı yani.
taşınan yapılar.
1 - anlam düzenleme/ekleme penceresi ve yapısı
2 - ana yapıdaki scroll (kaydırma) ve navigasyon mantığı ve butonları
3 - liste formatlayıcı
ayrıca ;
zar (rastgele) butonu, artık her zaman görünür yaptım. basınca otomatik olarak listeyi karıştırıp modu "rastgele"ye alıyor kendisi. önceden rastgele moda alırsak vardı şimdi hep var.
bazı ufak tema uyumsuzlukları giderildi.
daha yazmadığım olaylarda var.
#3866132 3-4 gün geçmiş aradan
şu an bugün yaptığım refactoring ile
ortalama 10 bin satır kod içeren yapıdaki main.py dosyamı ortalama 3000 satırdan 2500 satıra indirdim*. daha doğrusu modüler yapıya geçirdiğim fonksiyonlardan sonra bu sayıya geriledi. toplam satır azalmadı yani.
taşınan yapılar.
1 - anlam düzenleme/ekleme penceresi ve yapısı
2 - ana yapıdaki scroll (kaydırma) ve navigasyon mantığı ve butonları
3 - liste formatlayıcı
ayrıca ;
zar (rastgele) butonu, artık her zaman görünür yaptım. basınca otomatik olarak listeyi karıştırıp modu "rastgele"ye alıyor kendisi. önceden rastgele moda alırsak vardı şimdi hep var.
bazı ufak tema uyumsuzlukları giderildi.
daha yazmadığım olaylarda var.
devamını gör...