top of page

Blog Posts

Writer's pictureHüseyin GÜZEL

5 Madde ile Kodlama ve Uygulama Geliştirme

İlk tıklamayla başlar serüven, planlanmış bir tasarımın harika işler yapmasını umduğunuz bir başlangıçtır bu...


Teknoloji devlerinin rekabetlerinden nasibini almış, hırs ve tutkuyu peşinden getiren kazançların (beklentilerin) ilk adımıdır... Seviye ve yeteneklerin sınırlarının zorlandığı, zirveye yürüyüşün, hayallere atılan adımların geri sayımıdır!


Doğru teknolojileri ve programlama dillerini kullanıp kullanmadığınızdan bir türlü emin olamayıp, bin parçaya bölünüşünüzün hüznüdür bu! Ayrıca buna neden gerek kaldığınızı sorgularken yaşadığınız ikilemler mesleğinizin devrinin yaşandığı bir dönemde belki de en önemli çıkmazınız!


Evet geliştirme ve kod yazmak. Bu kavramları irdeliyoruz!


Geliştiriciler için kodlama ve kişisel yetenekler, istediği işi elde etmek veya bir girişime yelken açmak için en kuvvetli referanslar arasında yer almaktadır. Özellikle bulut ve mobil çağında öğrenilmesi gereken programlama dilleri ve altyapı çeşitliliği, rekabete ayrı bir boyut kazandırdığı gibi geliştiricilerden beklentileride arttırmaktadır.


Bu kapsamda; dağıtık - çoklu platformlar (Cross Platform), geliştirme operasyonları (DevOps), versiyonlama ve devamlı entegrasyon (CI,ALM) vb. süreçler yeni dilleri, teknolojik altyapıları beraberinde getirip **yetenek silsileri bağı** oluşturmaktadırlar.


Teknolojinin yaygınlaşması, girişimlerin getirileri, mobil platformlar, ağ erişim hızları ve aktif kullanıcı sayılarının artmasıyla birlikte internet üzerinden sunulan hizmetler ve bu hizmetleri bir araya getiren öğeler büyük önem kazanmıştır. Bu öğelerin başta gelen iki üyesi, kod ve geliştirme süreçleri için birkaç konu başlığını derleyelim.



1| Açık Kaynak (Open Source - Topluluğun Gücü)


Bir gün geçmiyor ki teknoloji devlerinden her hangi biri yeni bir platformu topluluk ile paylaşmasın!

Son dönemlerde devasa ve popüler kod deposu Github ı değerlendirdiğimizde karşımıza net bir tablo çıkmaktadır. Microsoft .NET platformu, Apple Swift programlama dili, Google' ın ve Facebook' un web, mobile ve UI konulu geliştirmeleri açık kaynak kodlu projeler olarak paylaşılmış durumda.

Topluluk desteğini arkasına almış bir çok açık kaynak kodlu proje aktif süreçlerine hızla devam etmekte ve her geçen gün yeni özellikler kazanmaktadır. Böylece paydaşların, destekçi ve son kullanıcıların ihtiyaçlarını karşılayabilen, esnek, verimli ve hızlı geliştirme ortamları, kütüphaneler ve dokümanlar oluşturulabilmektedir.



2| Kalite

"Herhangi bir aptal bilgisayarın anlayabileceği bir kod yazabilir.İyi programcılar insanların anlayabileceği kodlar yazar." Martin Fowler

Evet herkes kod yazabilir ancak iyi bir geliştirici tarafından yazılan kod herkes tarafından okunabilir. Geliştirme sürecinde bir şeye dikkat çekmek gerek; **kodu okumanın yazmadan daha fazla yapılıyor olması**. Farklı kaynaklardan derlenen (Referanslar, Kütüphaneler) programlar, takım arkadaşlarınız tarafından yazılan kodlar ve entegre çalıştığınız her bir kaynak (API) incelenmek ve keşfedilmek üzere sizleri beklemektedir. İlk değişikligi belirgin olarak kendinizde yapar ve uygularsanız, beraberinde **yorum satırına dahi ihtiyaç duymayan** ortak bir dil meydana getirmiş olursunuz! Fakat göreceli değerlendirme ve yorumları göz ardı etmeden!



3| Standardizasyon

"İşe geldiğinizde kendinize kod yazmıyorsunuz, sizden sonra gelenler için kod yazıyorsunuz" Nicolas C. Zakas

Prensiplere uyan ve gereksinimleri karşılayan kodlar yazmak! Evet ama tam bu noktada ince bir husus sizi bir üst seviyeye taşıyacaktır. Sürdürülebilir, bakımı kolay ve hızla anlaşılabilen bir kod! Bunun içinde her ne olursa olsun sadık kaldığınız bir yapı her hangi bir serbestlikten çok daha iyi olacaktır. (Coding Conventions)


4| Odaklanma


Tam zamanlı olarak yeni bir proje için bir araya gelen bir ekibin, etkin ve hedef odaklı yönetilmesi, emeklerin boşa harcanmaması ve nihai son açısından büyük önem taşımaktadır.


Ekibin beklenen çıktıları üretebilmesi için yeteneklerin doğru katmanlarda iş paylaşımı yaptığından emin olunmalıdır. Herkes her işi yapabilir tarzı makul gelebilir fakat bu seçenek teoride iki tam zamanlı işi aynı anda yapmanızla eşdeğer! Sizce böyle bir durumda her hangi birinden fedakarlık yapmadan iş kalitenizi koruyabilir misiniz?


Hiçbir şeyin tam zamanlı işinizdeki performansınızı etkilemesine müsade etmeyin! Böylelikle her bir gününüz size katkı sağlamaya devam edecektir. O an için öğrendiğiniz ve geliştirdiğiniz ne ise o yolda ilerleyin ve bunu en iyi şekilde yapmaya gayret edin.

Detayları gözden kaçırmayarak fark yaratın!


5| Destek


"Yazılım mühendisliğinin amacı karmaşıklığı kontrol etmektir, yaratmak değil" Dr. Pamela Zave

Bu zamana kadar üzerinde çalıştığınız altyapı, sistem ve kodlama; analiz, geliştirme ve test süreçlerini tamamlayıp kullanıcıların hizmetine sunulduğunda artık bir proje olarak adlandırılmış ve yepyeni bir dünyada görücüye çıkmıştır. Her şey bugünler için yapılmış bir yatırım gibidir. Dogru mimari her anlamda etkin ve hızlı destek saglayabilmenize olanak sağlayacaktır.


Bu noktada; sadık kaldığınız prensipler (SOLID), uyguladığınız yöntemler ve standartlar bu süreçte sırdaşınız ve en etkin yardımcınız olarak safınızda yer alacaktır.


Sonuç


"Hata bir seçenek değildir; yazılıma dahildir"

Elbette elinizden geleni yaptınız! Çok çalıştınız ve güzel bir projenin üyesi olarak sektörde yerinizi aldınız. Öyle bir an ile karşılaştınız ki; kendinizden, ailenizden ve dostlarınızdan çaldığınız zamanı ve emeklerinizi, oynadığınız bu masada kaybetmek üzeresiniz! işler istediginiz gibi gitmedi ve elinizde olmayan bir sebeple projeyi hayata geçiremediniz!


Bunun bu işin bir parçası olduğunu unutmazsanız her zaman size bir çıkış kapısı verecek, size daha iyisini yapma şansı tanıyacaktır...


Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
  • Beyaz LinkedIn Simge
  • Beyaz Facebook Simge
  • Beyaz Heyecan Simge

BU İÇERİĞE EMOJİ İLE TEPKİ VER

bottom of page