İlginizi Çekebilir
  1. Ana Sayfa
  2. Yazılım
  3. Bir Yazılım Projesine Başlamak- Tavsiyeler #4

Bir Yazılım Projesine Başlamak- Tavsiyeler #4

Bu yazım işin bir alaylısı olarak, tecrübelerimden derlediğim bir yazılım projesine başlamak – dikkat edilmesi gerekenler  konusunun 4. yazısıdır. 

Bir Yazılım Projesine Başlamak- Tavsiyeler #4

Bu yazım işin bir alaylısı olarak, tecrübelerimden derlediğim bir yazılım projesine başlamak – dikkat edilmesi gerekenler  konusunun 4. yazısıdır.  Bu yazıda göreceğiniz şeylerin her hangi birini bir yerde bulmanızın imkansız olduğu düşünüyorum. Sayısız araştırmalar yaparak ve sayısız proje geliştirerek geçirdiğim, 5 yıldan fazla sürede elde ettiğim tüm püf noktaları paylaşıyor olacağım.

Önceki yazımda Bir Yazılım Projesine Başlamak– Tavsiyeler #3, kod yazım şekilleri ve az koda çok iş yaptırmak hakkında da konuşmuştuk. Bu yazının sohbet konusu ise Hızlı Kod Yazmak  üzerine olacak. Bu yazım önceki yazılarım ile bağlantılı olacak ve onlardan bir çok referans içerecek. Aslında önceki 3 yazım bu yazım için hazırlanmış oluyor.

 

Bir Yazılım Projesine Başlamak- Tavsiyeler #4

Hızlı Kod Yazmak

Geldik işin zirvesi diyebileceğimiz yere. Bu yazım önceki yazıların kapsayıcısı olacak. Yani önceki 3 yazı olmadan bu yazı olmazdı.

Öncelikle kodlama mantığını öğrendik. Düzenli ve doğru bir kodlama mantığı ile güzel bir çözüm ürettik. Yazılımcılar olarak tabi bu kodlama mantığının canlı ortamda yürütebilecek şekilde programlanması gerekiyor. Zaten bizim için asıl olay bu. Öyle kodlar yazmalıyız ki projeyi kullanacak şirketteki çalışanlar, şirketlerine uygun kodlama mantığını projemizde uygulayabilsinler. Tamam biz mantığı öğrendik, tavsiye ettik ve kullanıldı ama yazdığımız program bu kodlama mantığını yürütebilecek mi?

Buradaki önceliğimiz öğrendiğimiz bu kodlama mantığını yürütebilecek yöntemleri yazmaktır / yazabilmektir. Öğrendiğimiz kodlama mantığını, öğrenmemiş olsaydık elbette gerekli yöntemleri yazamazdık.

Bu kodlama mantığını kolayca yazabilmemiz için gereken ilk şartı yerine getirdik. İkinci şart ise elbette Basit Düşünmek ve Çevresel Etkenleri Belirleyebilmektir. Bir yöntem yazmak zorundayız ama bunu ne kadar kompleks hale getirirsek o kadar zorlanacağız ve o kadar sıkıntı yaşayacağız. Çevresel Etkenlerden kastımızın da müşterilerimiz olduğunu zaten ikinci yazımdan biliyorsunuz. Bir mantık her şirket için geçerli olamaz. Elbette işin içinde keyfi durumlarda var.

Biz gruplama ayracını sadece nokta ( . ) olacak diye düşünebiliriz ama müşteri nokta ( . ) kullanmak istemeyebilir. “Arkadaşım bırak da onu biz seçelim.” deme ihtimalleri var.  Çevresel etkenleri denkleme ekledikten sonra olabildiğince basit düşünerek sonuca ulaşabiliriz. Burada kodlamalardaki ayraçları bile belirli tercihler içinden yapabilecekleri bir şekilde programlamak gerekecek.

Buraya kadar geldik. Her şeyimiz hazır. İş program kodlarını yazmaya geldiğinde üçüncü yazımı hatırlayalım. Az koda çok iş yapırmak… Öyle kodlar yazmalıyız ki hem olabildiğince kısa olsun hem de her türlü kodlama mantığını destekleyebilsin. Eh işte burası da sizin hayal gücünüze kalıyor.

İlk yazımız kodlama mantığı üzerine olduğu için senaryomuzda kodlama mantığı üzerinden ilerledi. Kodlama mantığını zaten çözdüğümüzü düşünelim ve diğer konulara geçelim artık.

 

Tüm İmkanları Kullan!

Ben Visual Studio kullandığımdan dolayı anlatımlarım da onun üzerinden olacak. Visual Studio basit bir IDE değil. Bir çok özelliği var.

 

User Control / Kullanıcı Denetimi (Nesnesi) Kullan!

Mesela üçüncü yazımda bahsettiğim User Control konusu… Gerçi başka IDE’lerde böyle bir şey var mı net olarak bilmiyorum ama tahmin ediyorum ki yok.  User Control konusu Hızlı Kod Yazmak için en önemli şeylerden birisidir. User Control ‘ü aktif şekilde kullanıyorsunuz varsayalım ve diğer konuya geçelim.

User Control ‘leri sevin. Onu kullanın. O sizin en büyük yardımcılarınızdan birisidir.

 

Code ToolBox / Kod Araç Kutusu (Kısayolu)  Kullan!

Yine üçüncü yazımda bundan bahsetmiştim. Kodları seçip toolbox’a atabiliyorsunuz. Kullanmak istediğinize ise çift tıklıyorsunuz yada sürükleyip istediğiniz yere bırakıyorsunuz. Tıpkı form nesnesi ekler gibi…

Düşünün…. Bir GridView nesnesini doldurmak, kolonlara biçimlendirme vermek, bazı kolonları gizleyip göstermek için kodlar yazdınız. Her seferinde bu kodları “Daha önce nerde kullanmıştım yaaa?” şeklinde form form gezerek aramak mı kolay yoksa toolbox’tan sürükleyip bırakmak mı?

Direk kendimden örnek vereyimm. Benim toolbox’umda 5 tane GridView güncelleme metodu var. Ben genelde forma aldığım nesnelerin hepsini mutlaka isimlendiririm ama girdview, groupbox gibi nesneleri isimlendirmiyorum. Bu yüzden toolbox’uma aldığım GridView güncelleme metodları birebir aynı, tek fark nesne isimleri. Bunlara Toolbox’ta verdiğim isimler (rename yapabiliyorsunuz) ve metodların isimleri GridUpdate1, GridUpdate2, GridUpdate3, GridUpdate4, GridUpdate5 şeklinde. Her metod 55 satır koddan oluşuyor ve  yaklaşık 45 kere nesne adı geçiyor. Neden sadece bir metod yapıp forma eklediğim ikinci grid için, GridUpdate1 metodunaki GridView1’leri GridView2 yapmak için uğraşıp zaman kaybedeyim. CTRL+H (bul ve değiştir) yapabilirim ama yine de zaman kaybı…

Şimdi burada “Amma da büyüttün. Ne olacak sanki?” diye düşünebilirsiniz. Bu normal. Çünkü bende en başta her seferinde uğraşıyordum. Neredeyse her formumda bir grid olduğunu düşünürsek her seferinde uğraşmak çok sinir bozucu oluyor. Hatta olursa bir forma 6 tane grid eklemem gerekirse toolbox’a GridUpdate6 metodu da eklenir. 😉 😀

  • GridUpdate1 metodunun içindeki kodlar GridView1* nesnesini doldurup biçimlendiriyor.
  • GridUpdate2 metodunun içindeki kodlar GridView2* nesnesini doldurup biçimlendiriyor.
  • GridUpdate3 metodunun içindeki kodlar GridView3* nesnesini doldurup biçimlendiriyor.
  • GridUpdate4 metodunun içindeki kodlar GridView4* nesnesini doldurup biçimlendiriyor.
  • GridUpdate5 metodunun içindeki kodlar GridView5* nesnesini doldurup biçimlendiriyor.

Bilgi: Ben projelerime DevExpress kullanıyorum. GridView nesnesi de DevExpress’e ait bir nesnedir. Her yazılımcının mutlaka incelemesini öneriririm.

Kodlar için ayrılan toolbox’u kullanın. Onu sevin. O sizin en büyük yardımcılarınızdan birisidir.

 

Snippets / Kod Parçacıklarını Kullan!

Snippets nedir önce ona bakalım.

Visual Studio Snippet Nedir?

Kısaca, kısayol tuşlarının birleşimini kullanarak bir kod dosyasına eklenebilen yeniden kullanılabilir kod blokları diyebiliriz. Yani biraz farklı bir şekilde, ToolBox’a eklediğimiz kodlar gibi… Ancak bunları bir kısayol tuşuna bağlayabiliyoruz. Varsayılan olarak bir çok Snippets var.

Örnek

Visual Studio ‘da bir kod sayfasında for yazıp TAB+TAB yaptığınızda For döngüsünü oluşturan kodları otomatik tamamlar. Aşağıdaki gibi.

// for yazdınız ve TAB + TAB yaptınız....
// geri kalan kısmını otomatik oluşturdu...


for (int i = 0; i < length; i++)
{

}

Yada foreach yazdınız TAB+TAB yaptınız. Aşağıdaki gibi otomatik getirdi. (Aslında foreach yazmamıza bile gerek yok. Aşağıdaki görsele bakın.)

    foreach (var item in collection)
            {

            }

Aşağıdaki görsele dikkat edin.

Bir Yazılım Projesine Başlamak

for yazdım ve intelligence bana zaten gösteriyor.

Malesef VS güncelleme yaptıktan sonra Türkçe oldu ve yoğunluğumdan düzeltme şansım olmadı. Ama aslında net olarak anlayabilmemiz için yani sadece bu görseli Türkçe olarak alabilmiş olmam tek güzel şey oldu. 😀  (sekme dediği TAB tuşu 😀 )

Mavi olarak seçili satırın en solundaki simgeye dikkat edin. O simge bir Snippets olduğunun göstergesidir.

Şimdi düşünürsek neden elle bir for döngüsü kodu yazmaya çalışayım? Neden bununla vakit kaybedeyim ki? Kaldı ki Visual Studio bana, bunun gibi kendime özel snippets uygulayabilme şansı da vermişken neden kullanmayayım?

Visual Studio’da bir dile ait tüm Snippet ‘leri görüntülemek için; Tools (Araçlar) > Snippet Manager (Kod Parçacıkları Yöneticisi)  yada CTRL + K +B (Önce K sonra B) yapabilirsiniz.

Bir Yazılım Projesine Başlamak

Snippets ‘e (Kod Parçacıklarına) aşağıdaki yollardan erişebilirsiniz.

  • Menüden, Edit > IntelliSense > Insert Snippet
  • Kod sayfasın da sağ tık yapıp, Snippet > Insert Snippet
  • Ctrl+K,Ctrl+Kısayol tuşlarını kullanarak

Buradan daha fazla bilgi alabilirsiniz.

Var olanları düzenleyebilir, kendinize özel olarak ekleyebilirsiniz.

Snippets ‘leri sevin. Onu kullanın. O sizin en büyük yardımcılarınızdan birisidir.

 

Bir Yazılım Projesine Başlamak – Hızlı Kod Yazmak için Sonuç Olarak

Bir Yazılım Projesine Başlamak başlığı altında, çevresel etkenleri denkleme dahil ettik. Olabilecek varyasyonları ve gelecekte sorun olabilecek neredeyse her şeyi kullanıcılardan aldık. Olabildiğince basit düşünerek kağıt üzerine projenin taslağını hazırladık. Neyi nasıl yapacağımızı belirledik. Sonrasında kod yazım şekillerine değindik ve az koda nasıl çok iş hatta daha çok iş yaptırabiliriz gördük…

Paldır küldür başladığınız bir projenizi düşünün… Bu bilgileri aldıktan sonra, o projenizi tekrar yazsaydınız tahminen ne kadar sürede yazardınız? Tahminen zamandan ne kadar kar ederdiniz? Tahminen ne kadar daha az sorun yaşardınız?… 

Bitti mi? Hayır… Daha bitmedi. Daha seriye eklenecek en az iki yazı daha var. Buraya kadar olanlar bizim için olmazsa olmaz şeylerdi. Her yazılımcının mutlaka bilmesi gerek diye düşündüğüm şeylerdi.

Bu yazıdan sonra proje içi kullanıcı yetkilendirme konusunda bakacağız ki bu konu her proje için geçerli olmuyor. Bazı projeler küçük çaplıdır ve basit bir mantık iş görür. Belkide yetkilendirme yapmanıza bile gerek yoktur. Daha kapsamlı projeler için de olmazsa olmazdır. Ama bu konu  önceki yazılar ile çok bağdaşık sayılmaz.

Son konumuz da öyle. Aslında yazı serisinden biraz bağımsız bir konu ama yine de her yazılımcının bilmesi gereken bir konu diye düşünüyorum. Sonuçta en basitinden C# bir derya deniz… Hiçbir Allah’ın kulu ben C# ‘ta uzmanım diyemez. Diyenlere itimat etmeyin.

Ben C#’ta uzmanım = Ben  pasifik okyanusunun her metresinde yüzdüm, yüzebiliyorum. 

Mecazen değil. Direk olarak böyle bir şey…

 


Evet arkadaşlar Bir Yazılım Projesine Başlamak – Tavsiyeler #4  yazımda bu kadar olsun. Hızlı kod yazmak hakkında konuştuk.

Eğer ilginizi çekebildiysem o zaman takipte kalın. Yeni bir yazının ne zaman geleceği belli değil.

Yazılım konusunda daha fazla içerik için tıklayabilirsiniz.

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır. Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorum Yap

Yorumlar (2)

  1. Hikmet Eryıldız
    10 ay önce

    Eline sağlık. Yazılımla uğraşırken TAB TAB komutları gerçekten çok işe yarıyor. Zamandan tasarruf yazılımcılar için gerçekten önemli.

    • 10 ay önce

      Aynen öyle. Projeleri hızla bitirmek demek yeni bir projeye daha hızlı geçmek demek. Vakit gerçekten nakittir. 😀
      Teşekkürler.