Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

Kaliteli Yazılım Geliştirmek İçin Neler Yapılabilir?

Öncelikle sizlere maddeler halinde özellikle kodlamaya yeni başlayanlar veya yazdığı koda tekrar baktığında anlamayan geliştiriciler için kendi çapımda birkaç öneri vermek istiyorum. Sadece benim tecrübelerim doğrultusunda neler yapılabilir onları yazacağım. Bunlara ilave etmek istediğiniz olursa lütfen sizde paylaşın.

1-       İlk önce değişken ve kontrollere isim verirken anlamlı isimler vererek başlayabiliriz.Örneğin sayıların toplamını tutmak için bir integer sayıyı int x yerine , int _toplam şeklinde yazmalıyız veya bir forma Form1 yerine frmAnasayfa.

2-       Windows veya web uygulaması yaptığımızı düşünelim bir butona tıklayınca bir işlem yaptıracağız diyelim ; işlem yapacak kodları butonun click eventi yerine bir fonksiyonda tanımlayıp butonun click eventinde bu fonksiyonu çağırabiliriz.

3-       İşlem yapacak fonksiyonları gruplayarak class’ların içerisinde tanımlayabiliriz.Örneğin maliyet hesaplama işlemlerini yapacak fonksiyonları ve değişkenleri Maliyet isminde bir class içerisine yazıp bu classı programın diğer yerlerinde kullanabiliriz.

4-       Klasörler oluşturma : Belli amaca hizmet eden class’ları bir klasör altında toplayarak bir hiyerarşi sağlayabiliriz.

5-       Her class değişkenini public tanımlama yerine private tanımlayıp eğer dışarıdan erişim sağlanacaksa public bir property tanımlayabiliriz.

6-       Bütün fonksiyonları public tanımlamak yerine bu fonksiyonu sadece sınıf içinde mi kullanacağız yoksa alt sınıflar mı kullanacak belirleyerek private veya protected tanımlayabiliriz,Böylece fonksiyonların etki alanlarını kısıtlamış oluruz.

7-       Çok abartı olmamak kaydıyla gerekli gördüğünüz yerlere summary’ler ve açıklamalar ekleyiniz.

8-       Bir class’ın tek bir görevi ihtiva etmesini sağlayın.Örneğin Stok sınıfı deyip içinde başka işlemleri de bu sınıfa yüklemeyin.

9-       Geliştirme yaparken belirli aralıklarla ( refactoring ) kodda ve tasarımda iyileştirme yapın

10-    Programı genellikle 3 katmanlı olarak oluşturmaya çalışın. Data Layer – Business Layer ve Presentation Layer.

11-    Bir kodu yazarken bir başka projede kullanılabilir olduğunu test edin.Örneğin bir class başka class’lara bağımlı olmadan başka bir yerde kullanılabilir mi(re-use).Genellikle DLL haline getirmeye çalışın.

12-    Formda veya Sayfada asla sql cümleleri kullanmayın.Veritabanı işlemlerini data katmanında yapın.

13-    Abstract class ve interface kullanın. Bunların sayesinde sınıfların birbirlerine olan bağımlılıklarını azaltabilir programa esneklik kazandırabilirsiniz.

14-    Design Patternlerden faydalanın. Amerika’yı yeniden keşfetmeye gerek yok.Hem kodunuz sadeleşir hem de daha etkili ve anlaşılır bir koda sahip olursunuz.

15-    İlerde şöyle bir fonksiyon kullanabilirim deyip boşu boşuna fazladan bir fonksiyon implement etmeyin .Gereksiz hiçbir kod eklemeyin.

16-    Fonsiyon ve sınıf isimlerini anlaşılır isimler verin bırakın uzun olsun : GetUserIdByUsernameAndPassword();

17-    Bazı metodlar başka metodları tetiklemesi gerekiyorsa delegate’lerden faydalanın.

18-    Veritabanı uygulaması yapıyorsanız , çoğu işlemi veritabanına yıkmaya çalışın ; stored procedure , function , view , ..kullanın değiştimesi de böylece kolay olur.

19-    For yerine foreach , if else yerine switch , Arraylist yerine Generic List ,  tercih edin.

20-    Enumaration kullanın.

21-    Önce çalışan kodu yazın daha sonra hem anlaşılır hem de performanslı çalışan kodu yazın.

22-    Parçala-Böl –Yut : Bir problemi en küçük parçalarına kadar ayırın ve alt parçaları yaparak işleme başlayın , kağıt kalem kullanın. Metodların 30 satırı geçmemesine dikkat edin.

23-    Tekrarlayan kodları fark ettiğiniz an bu tekrarı yok etmeye çalışın

24-    Class diyagramından faydalanın. Diyagramda her şeyi daha net görebilirsiniz.

25-    Using kullanımını artır çünkü yaratılan nesneleri otomatik dispose eder veya kullanmasanda yaratılan nesneleri dispose et.Böylece bellek taşmalarını engelleyebiliriz.

26-    Namespace isimlerini kodun içinde yazmak yerine en üste using Namespace diyip kullanın

27-    String birleştirme işlemini StringBuilder ile yapın

28-    80 kolondan uzun kodları alt satıra geçirin.

29-    Kodlarınızı Regionlar ile bölün.

Unutmayın Compiler’ın anlayabileceği kodu herkes yazar ancak insanların anlayabileceği kodu ancak gerçek yazılımcılar yazabilir.

April 13, 2009 - Posted by | Yazılım | , , ,

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s