Sabah erken saatlerde çıkan bir sürüm bazen teknik bir güncellemeden çok daha fazlası oluyor. Bunu özellikle küçük ama hızlı büyüyen projelerde çok net görüyorsunuz; bir yandan kullanıcıya yeni bir şey vermek istiyorsunuz, öte yandan eski kodun arkasında bıraktığı gölgelerle boğuşuyorsunuz. PC Workman 1.7.1 tam da o çizgide duruyor (ben de ilk duyduğumda şaşırmıştım). Yeni özellik şov yapmıyor. Ama altyapıyı bayağı sağlamlaştırıyor.
Vallahi, İşin ilginç tarafı şu ki bu sürümde “bakın ne kadar çok yeni özellik ekledik” havası yok. Tam tersine, gereksiz kodları silmek, kırık testleri toparlamak ve arayüzü biraz daha okunur hâle getirmek öne çıkıyor. Açık konuşayım — ben böyle sürümleri daha değerli buluyorum. Çünkü vitrine koyduğunuz parlak düğmelerden önce, zeminin düz olması gerekiyor. Nokta.
Evet, doğru duydunuz. Daha fazla bilgi için Hızlı Şarj Adaptörü Alırken Kaçırmamanız Gereken 7 Nokta yazımıza bakabilirsiniz.
Şahsen, Geçen yıl, 2024 Nisan’ında İstanbul’da bir fintech ekibiyle yaptığım kısa danışmanlıkta aynı tabloyu görmüştüm: ekip her hafta yeni ekran çıkarıyordu ama testler yamalı bohçaya dönmüştü; ürün büyüyordu, evet (en azından benim deneyimim böyle). ama içerideki teknik borç da sessizce, kimseye görünmeden kabarıyordu (buna dikkat edin). E peki, sonuç ne oldu? Neyse, pC Workman 1.7.1 bana tam olarak o dönemi hatırlattı.
Bu Sürümün Asıl Mesajı Ne?
Hani, Bu güncellemenin ana fikri aslında oldukça basit: önce temeli düzelt, sonra hızlan. Yani “TURBO Mode” gibi ileride gelecek sistem iyileştirme araçları için zemin hazırlanıyor (evet, doğru duydunuz). Şu an görünen şey yeni bir monitor özelliği değil; aksine bazı şeylerin bilinçli olarak eklenmemesi. Hmm, kulağa garip geliyor biliyorum. Ama bazen en doğru karar tam da bu oluyor (buna dikkat edin)
Bir de şu var: yazılım dünyasında insanlar çoğu zaman eklenen satır sayısına bakıyor, silinen satır sayısına değil. Halbuki yaklaşık 130 satır ölü kodun atılması çoğu zaman yeni bir widget’tan çok daha kıymetli oluyor — çünkü silinen her gereksiz parça, hem zihinsel yükü azaltıyor hem de bakım maliyetini aşağı çekiyor. Tabi bunu ancak kodun içinde yaşamış biri anlıyor.
“Yeni özellik eklememek” bazen geri adım gibi görünür… ama aslında ürünün nefes almasını sağlar.
Benzer bir kararı 2023 Ekim’inde Ankara’daki küçük bir SaaS startup’ında da görmüştüm; ekip iki hafta boyunca hiçbir yeni buton çıkarmadı, sadece kırık akışları temizledi ve sonraki sprintte destek talepleri ciddi biçimde azaldı. Bu tür işlerin etkisi hemen manşete çıkmaz, ama kullanıcı tarafında neredeyse kesinlikle hissedilir.
İşte tam da bu noktada devreye giriyor.
Kod Temizliği Neden Bu Kadar Önemli?
Dead code meselesi kulağa sıkıcı geliyor olabilir. Ama pratikte durum hiç de öyle değil; hatta bazen en pahalı hata tam orada yatıyor. Kullanılmayan fonksiyonlar, artık çağrılmayan modüller ve yanlış yerde duran import’lar projeyi sadece yavaşlatmıyor — aynı zamanda bakım maliyetini de sessiz sedasız şişiriyor.
PC Workman örneğinde main_window_expanded.py içindeki eski “Your PC” sayfası büyük ölçüde kaldırılmış. Güzel hamle bu. Çünkü artık kimsenin dokunmadığı ama herkesin varlığını hissettiği dosyalar proje içinde hayalet gibi dolaşıyor; bir geliştirici olarak onları gördüğünüzde beyniniz “acaba bu hâlâ çalışıyor mu, dokunursam bir şeyler patlar mı?” diye takılı kalıyor ve bu küçücük zihinsel yük zamanla birikerek sizi yoruyor.
Bir de requirements.txt tarafındaki tkinter ve tk örneği var. Ufak ama can sıkıcı bir problem çözülmüş aslında: bunlar zaten standart kütüphane parçasıysa pip ile kurulmaya çalışılması boşuna gürültü çıkarıyor (kendi tecrübem). Küçük detay gibi duruyor. Ama kurulum sürecinde saç baş yolduran şeylerden biri tam da bu tür şeyler oluyor (bu beni çok şaşırttı)
Evet, doğru duydunuz.
Testleri Yeniden Yazmak Neden Kritik?
Bakın, Bence asıl olay test tarafında yaşanıyor. Kırık testler çoğu zaman sessizce yaşar; kimse onlara dokunmaz, kimse çalıştırmaz (ki bu çoğu kişinin gözünden kaçıyor). Sonra bir gün CI patlar — işte o an gerçek ortaya çıkar.
Burada güzel olan şu: eski testler yanlış metoda bakıyormuş ve hiç geçmemiş olma ihtimali yüksekmiş. Yeni sürümde psutil tamamen mock’lanmış, yani canlı sisteme olan bağımlılık azaltılmış. Bu bayağı önemli aslında — çünkü sistem testi yaparken gerçek CPU ya da disk değerlerine yaslanmak sizi kandırabilir, her ortamda farklı davranış gösterebilir. En kötüsü yanlış güven verebilir.
| Alan | Eski Hâl | Yeni Hâl |
|---|---|---|
| Metot adı | read() | read_snapshot() |
| Dış bağımlılık | Kısmen canlı sistem | Tam mock yapı |
| Sorun | Kırık ve doğrulanmamış test | Daha güvenilir CI çalışması |
| Etkisi | Sessiz başarısızlık riski | Tutarlı sonuçlar |
Araya gireyim: Kendi deneyimimden söyleyeyim: Mart 2024’te İzmir’de bir açık kaynak araç üzerinde çalışırken benzer şekilde yanlış isimlendirilmiş üç test bulmuştum (buna dikkat edin). Hepsi yeşil görünüyordu — çünkü hiç koşmuyorlardı bile! O an insanın yüzünde tuhaf bir ifade oluşuyor, hani “demek ki yıllardır kendimi kandırmışım” duygusu var ya, tam olarak o.
Peki Mock Kullanmanın Artısı Ne?
Lafı gevelemeden söyleyeyim: deterministik sonuç veriyor. Bugün laptop’unuzda çalışan test ile yarın CI sunucusunda çalışan test aynı davranışı gösteriyor. Bu kadar. Bu konuyla ilgili Invincible Neden Sarsılıyor: İsim Değil, Kare Zamanı yazımıza da göz atmanızı tavsiye ederim.
Bunun dezavantajı da yok değil tabi — fazla mock kullanırsanız gerçek dünya davranışını kaçırabilirsiniz. Kağıt üstünde süper görünen bir test paketi pratikte sizi yanıltabilir. Denge önemli, yani burada da aşırıya kaçmamak gerekiyor.
Kullanıcı Arayüzünde Yapılan Değişiklikler Ne İfade Ediyor?
Bi saniye — Ana değişikliklerden biri AnimatedBar sınıfının yeniden düzenlenmesi. Işlem görüntüleme ekranının okunabilirlik açısından elden geçirilmesi olmuş. Bu tür işler dışarıdan bakınca “ufak rötuş” gibi görünür (bu beni çok şaşırttı). Ama kullanıcı için fark yaratır; özellikle uzun listeler veya yoğun veri ekranlarında gözünüzün yorulmasıyla ilgili ince ayarlar — kontrast, boşluk, hiyerarşi — gerçekten önem taşıyor.
Bende şöyle bir alışkanlık oluştu zamanla: eğer arayüzde bilgi yoğunluğu artıyorsa önce kontrasta değil hiyerarşiye bakarım. İnsan gözü renk kadar düzeni de sever, hatta bazen daha çok. Neden önemli bu? PC Workman’ın süreç ekranını yeniden tasarlaması bu yüzden mantıklı duruyor bana. Modem Nereye Konulmalı? Çekimi Artıran Akıllı Yerleşim Rehberi yazımızda bu konuya da değinmiştik.
Aslında, Nisan 2025’te Berlin’de uzaktan yürüttüğüm başka bir projede process listesi ekranını sadeleştirdiğimizde destek biletleri azalmıştı; çünkü kullanıcıların sorusu teknik olmaktan çıkıp görsel karmaşa seviyesine gelmişti artık. İşte mesele buydu.
Neleri Kazandırıyor?
- Daha okunur süreç bilgisi
- Daha az dikkat dağıtan animasyon katmanı
- Daha stabil başlangıç ekranı deneyimi
- Daha temiz bakım alanı — bunu es geçmeyin
Zamanlama Meselesi: Plan Başka, Gerçek Başka
Bir şey dikkatimi çekti: Burası bana göre hikâyenin en insani kısmı. Çünkü plan ile gerçekleşen — en azından ben öyle düşünüyorum — şey birbirine pek benzemiyor — ve dürüst olmak gerekirse bu kötü değil, hatta bazen iyi bile olabiliyor. Pazartesi planında üç issue varken haftanın sonunda ortaya çıkan sonuç çok daha farklı bir şekle bürünmüş.
Salı-çarşamba arası Schema.org validator debug edilmesi, perşembe günü retail shift sonrası eve geç dönüş ve cuma sabahı aniden devreye giren o flow state… tanıdık geliyor mu? Bana çok geldi. Ben de Ağustos 2024’te Kadıköy’de sabah sekizde başladığım bir düzeltme işini akşam üstüne kadar. Bitirebilmiştim — bütün gün kafa aynı noktada kalmıştı da ondan. Mobil Uygulama Projelerinde Gizli Maliyetler: Bütçe Neden Şişiyor? yazımızda da bu konuya değinmiştik. Hong Kong’da Stablecoin Hamlesi: Bankalar Sahneye Çıkıyor yazımızda da bu konuya değinmiştik.
# Mantık aslında şu kadar net:
if technical_debt > tolerance:
delete_dead_code()
rewrite_tests()
simplify_ui()
else:
ship_features()
Peki küçük startup için anlamı ne? Basitçe şu: az kişiyle çalışan ekiplerde borcu ertelemek kısa vadede rahatlatır ama orta vadede çarpar gelir. Kurumsal tarafta ise durum biraz farklı; orada risk sadece hata değil, uyumluluk ve sürdürülebilirlik meselesidir. Yani iki tarafta da temizlik şart — sadece motivasyon dili değişiyor.
Küçük Proje İçin mi Büyük Platform İçin mi?
Küçük projelerde böyle temizlikler genelde “vakit kaybı” sanılır. Tam tersi doğrudur. Ekip küçüldükçe herkes her şeyi biliyor sanılır ama aslında kimse neredeyse tüm resmi tam görmez; PC Workman’ın yaptığı gibi dead code temizliği bu kör noktaları azaltıyor ve takımın nereye baktığını netleştiriyor.
Büyük platformlarda ise olay ölçek değiştiriyor. Orada tek bir gereksiz import bile yüzlerce dosyada yankılanabilir. Bir bug fix’in yanında yapılan refactor işleri ilk başta alkış toplamaz… ama birkaç sprint sonra takım nefes alır. Gerçek kazanç orada başlıyor zaten (buna dikkat edin)
Dikkat Çeken Eksiler Var mı?
Evet var. Her şey güllük gülistanlık değil. Bu sürümde yeni izleme özellikleri yok mesela — bazıları bunu eksiklik sayabilir. Haklılar da aslında, çünkü kullanıcı çoğu zaman yeni oyuncak ister. Ama burada amaç oyuncak vermek değil; altyapıyı geleceğe hazırlamak gibi duruyor.
Bence tek hafif hayal kırıklığı şu: bazı iyileştirmeler dışarıdan bakınca anlaşılmayacak. Yani sürümü indirip açan sıradan kullanıcı “tamam da ne değişti?” diyebilir. Ama geliştirici gözünden bakınca fark bariz. Bu ikilik yazılım dünyasının klasik derdi zaten — içerideki temizliği dışarıya anlatmak çok zor.
Sana Ne Öğretiyor?
Lafın özü şu: bazen en iyi release, gösterişli olmayan release’tir. Kodu azaltmak, testi düzeltmek, arayüzü toparlamak — bunlar sessiz işlerdir ama etkileri uzun yaşar. Ben kendi editör masamda bu tarz haberleri okurken hep şunu düşünüyorum: neden bazı ekipler sürekli hızlanırken bazıları aynı yerde patinaj yapıyor? Cevap çoğu zaman feature listesinde değil, temel hijyeninde yatıyor (şaşırtıcı ama gerçek)
Temel sağlam değilse üstüne koyduğun her şey biraz sallanır.
Sıkça Sorulan Sorular
PC Workman 1\.7\.1 neden önemli?
\
Bu sürümün önemi yeni özelliklerden çok altyapıyı toparlamasında yatıyor\. Kırık testlerin düzeltilmesi\, ölü kodların silinmesi ve UI akışının sadeleşmesi uzun vadede ürünü daha güvenilir yapıyor\.
\\
\
TURBO Mode nedir?
\\
Metinde TURBO Mode için hazırlanan altyapıya işaret ediliyor\. Yani amaç sistem optimizasyon araçlarını sonraki sürümlerde eklemek\. Şimdilik ortada hazır araçlardan çok zemin hazırlığı var\.
\\
\
Neden dead code silmek bu kadar önemli?\\
Çünkü kullanılmayan kod bakım yükünü artırır\, kafa karıştırır ve hata ayıklamayı zorlaştırır\. En çok da küçük ekiplerde bu yük hızlıca büyür\.
\\
\
Mock tabanlı testlerin avantajı ne?
\\
Mock kullanınca dış sistemlere bağlı kalmadan tutarlı sonuç alırsınız\. Böylece CI ortamında beklenmedik sapmalar azalır\.
\
\
Kaynaklar ve İleri Okuma
\
- \
- Python Resmi Dokümantasyonu
- Qt for Python / PyQt6 Dokümantasyonu
- psutil GitHub Sayfası
- CI/CD’de Test Katmanı\: Build’den Sonra Asıl Sınav
- Google’ın Prompt Rehberi\: İyi Komutun Anatomisi
- A2A Neden Önemli\: Çok Ajanlı Sistemler Altyapí Oluyor
\
\
\
\
\
\
\
“}
Bu içerik işinize yaradı mı?
Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.



