Yapay Zeka Ile Nasil Calisiyorum

Yapay zeka ile degisen calisma tarzimi örnek olabilmesi acisindan sizinle paylasmak istiyorum.

Artik IntelliJ / Android Studio uygulamalarini yapay zekanin yaptigi degisiklikleri takip etmek icin kullaniyorum. Cogu zaman commit penceresindeyim ve üzerinde degisiklik yapilan ya da yeni eklenen dosyalari, ne yapildigini anlamak icin editörde acarak, inceliyorum.

Bir prompt ile aldigim netice tatmin edici ise, hemen bir commit ile workspace i temizliyorum, cünkü bir sonraki prompt hataliysa ve geri alinmasi gerekiyorsa, mevcut calisan koddan ayirt edilemeyecegi icin tehlikeli bir durum olusuyor. Bunun önüne gecmek ve yapilan islemleri birbirlerinden temiz bir sekilde ayirt edebilmek icin sikca commit yapiyorum. Feature tamamlandiginda git squash ile tek bir commite cevirip, pushluyorum.

Yapay zeka ile interaksiyonum sadece konsol üzerinden gerceklesiyor. Claude code cli kulaniyorum. Her uygulama katmani icin ayri bir workspace kullaniyorum ve her katman icin bir cli calisiyor.

Chatgpt desktop / web uygulama gelistirmek icin kullandigim ikinci yapay zeka araci. Onu gereksinim analizi icin kullaniyorum. Oradan cikan analizleri Fable 5 ile paylasip, implementasyonu yaptiriyorum.

Artik kod ve test yazmiyorum. Fable 5 in entegrasyon testleri ve birim testleri yazmasini istiyorum. Bunlara güvenmedigim icin onay / kabul testleri icin onay/kabul kriterlerini ihtiva eden specler hazirliyorum. Fable 5 bunlardan test kodu olusturup, kosturabiliyor. Böylece uygulamanin blackbox olarak test edilmesi ve onay/kabul kriterlerinin tatmin edilmis olmalari test baglaminda yeterli oluyor.

Yeni bir projeye basladigimda öncelikli bir programlama dil secimim olmuyor. Genelde Java, Typescript, Dart gibi dilleri kullaniyorum. Lakin calistigim alana göre bu degisiklik gösterebiliyor. Örnegin remote control amaciyla cihazlar üzerinde calisan agent uygulamalari icin Go dilini kullanmistim. Artik poligot olan ben degilim, yapay zekanin kendisi.

Bir problem ile karsilastigimda sorunu kendim cözmeye calismiyorum, debug yapmak gibi. Burada yine yapay zekaya gerekli talimatlari, loglari, olusan veri setini vererek, problemi analiz etmesini ve cözmesini istiyorum.

Yapay zekanin yaptigi her analiz sonunda cözümü ihtiva eden bir dosya olusturmasini istiyorum. Bu dosyalar belli bir dizinde toplaniyor ve kodun ve uygulamanin hafizasi haline dönüsüyor.

Yeni bir uygulama gelistirmek istedigimde, önce ilk modülleri elden programlayip, referans olacak mimari, modüler yapi ve teknik cerceveyi olustuyorum. Yapay zeka devreye girdiginde bu yapilari birebir kopyalamaya basliyor. Bu sekilde mimariyi ve kod yapisini belli bir cercevede tutmak mümkün oluyor.

Tamamen biraktigim aliskanliklarim:

– Kod / test yazmak

– Ide icinde ya da gradle ile testleri kosturmak

– Test driven development yapmak

– Debug yapmak

– Refactoring yapmak

Ben artik tamamen AI first güdümlü calisiyorum. Bu benim isin teknik tarafina degil, gereksinim analizi kismina odaklanmami mümkün kiliyor.

Kodun yapisina ve kalitesine dolayli olarak, olusturdugum cerceve dahilinde etki etmis oluyorum. Bu yüzden yapay zekanin olusturdugu kod hakkinda endisem olmuyor. Özetle kodun kalitesi, yapisi ve ne durumda oldugu konulari ile ilgilenmiyorum. Beni ilgilendiren tek sey onay / kabul kriterlerinin uygulama bünyesinde dogru bir sekilde vücut bulmus olmalari. Olusan uygulama benim icin bir blackbox ve icinde ne dolaplar döndügü, benim istedigim sekilde calistigi sürece beni hic ilgilendirmiyor.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir