Ti ks vb v1.0

1,791 views

Published on

VB.NET için Türkçe içerikli Kodlama Standartları.

Published in: Health & Medicine, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,791
On SlideShare
0
From Embeds
0
Number of Embeds
173
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ti ks vb v1.0

  1. 1. Visual Basic.NET Kodlama StandartlarıVersiyon GeçmişiTarih Ver Açıklama Yazar(lar) Gözden Geçiren(ler)10.02.2011 1.0 Belge oluşturuldu - -ii
  2. 2. 10.02.2011 v1.0Künye Proje Koordinatörü Kadir Çamoğlu Editör Volkan Atasever Kapak Tasarımı Hakan Çamoğlu Yazarlar Volkan ATASEVER İrfan MEVSİM Merve CEYLAN Can YAPAN Kadir ÇAMOĞLU Hakan YAVUZ Burhan ÇETİNKAYA Yücel YILDIRIM Bahtiyar DİLEK Gözden Geçirenler Bahri Altan Kemal İkizoğlu Atagün Sarıbayraktar Erman Demirer Soykan Özçelik Haluk Aksoy Mesut Güneş İbrahim Atay iii
  3. 3. ĐçindekilerÖnsöz ......................................................................................................................................... 4 Amaç ........................................................................................................................................ 5 Kapsam ................................................................................................................................... 5 Kullanım Şartları ................................................................................................................... 5 Kullanım Önerisi ................................................................................................................... 5 Önemli Açıklama .................................................................................................................. 5 Geri Bildirim........................................................................................................................... 51. Dosya Organizasyonu ............................................................................................ 6 1.1 Klasör Yapısı ............................................................................................................... 6 1.2 Kaynak Kod Dosyaları ............................................................................................... 72. Biçimlendirme ........................................................................................................... 8 2.1 Sınıf Yapısı .................................................................................................................. 8 2.2 Girintileme ve Kapsamı Belirleme .......................................................................... 10 2.3 Boşluklar .................................................................................................................... 103. Açıklamalar .............................................................................................................. 11 3.1 Blok Açıklamalar ....................................................................................................... 11 3.2 Tek Satırlık Açıklamalar........................................................................................... 12 3.3 Satır İçi Açıklamalar ................................................................................................. 12 3.4 Dokümantasyon Amaçlı Açıklamalar..................................................................... 13 3.5 TODO : Açıklamalar ................................................................................................. 134. Đsimlendirme Kuralları ........................................................................................ 14 4.1 Büyük/Küçük Harf Kullanımı ................................................................................... 14 4.2 Pascal/Camel Casing............................................................................................... 14 4.3 Visual Basic.NET Diline Özel Ayrılmış Kelimeler ................................................ 15 4.4 Büyük/Küçük Harf Hassasiyeti ............................................................................... 16 4.5 Kısaltmalar ................................................................................................................. 17 4.6 Kelime Seçimi ........................................................................................................... 18 4.7 “İsim Alanı” İsimlendirme ......................................................................................... 19 4.8 “Sınıf” İsimlendirme .................................................................................................. 20 4.9 “Ara Birim” İsimlendirme .......................................................................................... 20 4.10 “Öznitelik” İsimlendirme ........................................................................................... 21 4.11 “Numaralandırma” İsimlendirme............................................................................. 21
  4. 4. Visual Basic.NET Kodlama Standartları 4.12 “Sabit” ve “Salt Okunur” Alan İsimlendirme .......................................................... 22 4.13 “Statik” Alan İsimlendirme ....................................................................................... 22 4.14 Parametre İsimlendirme........................................................................................... 22 4.15 Metot İsimlendirme ................................................................................................... 23 4.16 Özellik İsimlendirme ................................................................................................. 23 4.17 Olay İsimlendirme ..................................................................................................... 23 4.18 Değişken İsimlendirme ve İlk Değer Atama.......................................................... 24 4.19 Kontrol İsimlendirme................................................................................................. 245. Deyimler...................................................................................................................... 26 5.1 Basit Deyimler ........................................................................................................... 26 5.2 “Return” Deyimleri..................................................................................................... 26 5.3 “If, if-else, if else-if else” Deyimleri ......................................................................... 27 5.4 “Select” Deyimleri ..................................................................................................... 29 5.5 “For / Foreach” Deyimleri......................................................................................... 30 5.6 “While/do-while” Deyimleri....................................................................................... 31 5.7 İstisnai Durum Yönetimi ........................................................................................... 322
  5. 5. 10.02.2011 v1.0TerimlerTerim Türkçe AçıklamaNamespace İsim alanıClass SınıfInterface Ara birimAttribute Öz nitelikEnumeration NumaralandırmaProperty ÖzellikEvent OlayConstant SabitReadonly Salt okunurPascal Casing - İsimler BÜYÜK harfle başlar. İsmi oluşturan ifade birden fazla kelimeden oluşuyorsa, kelimelerin ilk harfleri BÜYÜK harflerle yazılır. (OgrenciKaydet, UcretHesapla, RaporYazdir)Camel Casing - İsimler küçük harfle başlar. İsmi oluşturan ifade birden fazla kelimeden oluşuyorsa, isimdeki ilk kelime küçük harfle başlar. Sonraki kelimeler BÜYÜK harfle başlar. (yeniOgrenciKaydet, ucretHesapla, raporYazdir) 3
  6. 6. Visual Basic.NET Kodlama StandartlarıÖnsözÖzlü bir söz vardı yıllar önce okuduğum: “Bilgisayarların okuyacağı kodu yazmak kolay, önemliolan insanların okuyabileceği kodu yazmak.” diyordu. İlk başta çok havalı gelen bu deyişisonrasında biraz düşünmek istedim.Yazdığımız kodu bilgisayarın okuması yeterli değil mi? Zaten bilgisayar çalıştırmıyor mu onu?Tamam işte, bilgisayar çalıştırıyorsa her şey yolunda demektir değil mi? Bazen. Altı ay önceyazdığınız bir kodu tekrar açıp değiştirmek ihtiyacı hissettiğinizde kodlara bakıp hiç “Yahu neyapmışım ben? İyi kod yazmışım valla” dediğiniz oldu mu? Eminim olmuştur. Sonuçta hepimizgeçtik bu yollardan. İster eski projelerinizdeki kodları hatırlayamayan ve kodu okuyamayan sizolsun, ister bir projede beraber çalıştığınız arkadaşlarınız olsun tüm bu senaryolar enindesonunda yazdığınız kodların bir insan tarafından da okunması gerekeceğine dair ipuçlarıveriyor.Ekranınızdaki bu PDF veya belki de çıktısını aldığınız bu doküman size bu yolda yardımcı olmaamacı taşıyor. Tabi ki siz de kendi tekniklerinizi ve kod yazım kurallarınızı oluşturabilir veuygulayabilirsiniz fakat bir kısım genel geçer, artık gelenekselleşmiş kurallara uymanın da farklıfaydaları olacaktır. Tavsiyem, eğer tek başınıza kod yazıyorsanız en azından ileriye dönük hemkişisel hem de proje bazında bir yatırım olarak bu kurallara uymaya çalışın. Şaka değil, böylecedünya hepimiz için (yazılım geliştiriciler) daha güzel bir yer olabilir. Eğer bir ekiple kodyazıyorsanız önce şirketinizde böyle bir doküman olup olmadığını öğrenin. Varsa ne kadaruygulandığını araştırın, gerekiyorsa revizyonlar önerin. Böyle bir doküman yoksa şirketinizdehemen bu dokümanı basıp herkese dağıtın. Yazılan bir kodun insanlar tarafındanokunabilirliğinin uzun vadede kurumlara ciddi karlar getireceğini de yöneticinizle paylaşmanızdafayda olacaktır.Artık top sizde! Bir sonraki adımı atıp insan dostu kodlar yazmak elinizde. Benim son olarakyapmak gereken bir şey daha var; bu dokümanın oluşturulmasında, hazırlanmasında ve belkide size ulaşmasında birçok dostun, kardeşimizin emeği var. Hepsine daha iyi bir yazılımdünyasına katkıları için sonsuz teşekkür ediyorum. Emeğinize sağlık! Daron Yöndem Microsoft Regional Director INETA MEA Vice President4
  7. 7. 10.02.2011 v1.0GirişAmaç Bu dokümanı geliştirmekteki amacımız, VB.NET programlama diliyle geliştirilecek projelerde kullanılmak üzere, kodlama standartları için fikir verecek bir “örnek” oluşturmaktır.Kapsam Bu doküman, VB.NET Kodlama Standartları belgesinin ilk sürümüdür. Bu nedenle isimlendirme, biçimlendirme ve temel kodlama yapıları gibi en temel konulara değinilmiştir.Kullanım Şartları Bu doküman bir grup çalışmasının ürünüdür. Belgenin sahipleri teknik olarak künyede yazılı olan (gözden geçirenler hariç) isimlerdir. Belgeyi, kaynak belirtmek koşuluyla tamamen ya da kısmen kullanabilirsiniz. Kopyalayabilir, çoğaltabilir ve dağıtabilirsiniz.Kullanım Önerisi Bu belgeyi geliştireceğiniz projelerde olduğu gibi kullanmanız mümkün olabileceği gibi, kendi standartlarınızı oluşturmak için temel almak üzere de kullanabilirsiniz. Özellikle daha önceden edindiğiniz yazılım geliştirme alışkanlıklarınız varsa, bunları dokümandakilerle karşılaştırarak uygun gördüğünüzü tercih edebilirsiniz.Önemli Açıklama Bu dokümanda belirtilen hiçbir kodlama standardı, ulusal ya da uluslararası genel bir standardı ifade etmez. Bu dokümanda açıklanan standartlar, içeriği geliştirenlerin ve proje koordinatörünün tecrübeleriyle oluşturdukları, kendi projelerinde uyguladıkları kodlama yaklaşımlarıdır. Bu dokümanda yazılanları VB.NET programlama dilinin, ilişkili teknolojilerin ya da yazılım mühendisliğinin temel kuralları olarak görmeyin. Dokümanı geliştirenlerin hiçbir şekilde en doğru ve en iyi yazılım kodlama standardını oluşturmak gibi bir iddiası yoktur. Buradaki amaç bir öneri ve/veya örnek oluşturmaktır.Geri Bildirim Bu proje gönüllük esasına dayalı olarak, geniş bir katılımcı kitlesiyle hazırlanmıştır. Bu dokümanın olgunlaşması ve daha kaliteli hale gelmesi için, dokümanı inceleyen, kullanan herkesin geri bildirimi bizim için çok değerli olacaktır. Lütfen dokümanla ilgili hataları, önerilerinizi ve her türlü geri bildiriminizi aşağıdaki web ve eposta adresleri üzerinden bizimle paylaşın.Eposta: tiksprojesi@gmail.comhttp://tiksprojesi.blogspot.com/http://www.facebook.com/#!/group.php?gid=29006737231http://www.chip.com.tr/blog/kadircamoglu/ 5
  8. 8. Visual Basic.NET Kodlama Standartları 1. Dosya Organizasyonu 1.1 Klasör Yapısı Kullanım amaçlarına yönelik olarak, kaynak kodlarını bir arada tutacak şekilde klasör yapısı oluşturun. Klasörün amacına yönelik isimlendirme yapın. Böylelikle hangi dosyanın nerede olduğu kolayca bulunabilir. İYİ:6
  9. 9. 10.02.2011 v1.0 KÖTÜ:1.2 Kaynak Kod Dosyaları Kaynak kod dosyalarını, klasör yapısına uygun olarak amaçlarına uygun yerde oluşturun. İYİ: 7
  10. 10. Visual Basic.NET Kodlama Standartları KÖTÜ: 2. Biçimlendirme 2.1 Sınıf Yapısı Sınıfların isimlendirilmesinde “Pascal Casing” kullanın. İsimlendirmede, ismin sonuna Class veya Sınıf kelimesi eklemeyin. Sınıf Erişim belirteçlerini (private, public, internal) mutlaka belirtin. Her sınıf için mutlaka en az bir yapıcı metot (Constructor) oluşturun. Parçalı (partial) sınıflar kullandığınızda, her bir parça içerisinde, diğer parçaların yerini belirtin. Yapıcı metodumuzun içinde parametrelerinizi eşleştirirken mutlaka “Me” ekini kullanın. İYİ: Public Class HastaIlac <summary>Hastanın kullandığı ilaç Bilgisi</summary> Public Sub New(ByVal ilacBarkod As String, _ ByVal ilacAdi As String) End Sub End Class KÖTÜ Public Class HastaIslemleriSinifi Public Sub New() End Sub End Class8
  11. 11. 10.02.2011 v1.0Sınıfları oluştururken girintileri doğru şekilde uygulamaya dikkat edin.İYİ: Public Class HastaIlac Private ilacAdi As String Public Property IlacAd() As String Get Return IlacAdi End Get Set(ByVal value As String) ilacAdi = value End Set End Property Private ilacBarkod As String Public Property IlacBarkodu() As String Get Return ilacBarkod End Get Set(ByVal value As String) ilacBarkod = value End Set End Property <summary>Hastanın kullandığı ilaç Bilgisi</summary> Public Sub New(ByVal ilacBarkod As String, ByVal ilacAdi As String) Me.IlacAd = ilacAdi Me.IlacBarkodu = IlacBarkodu End Sub End ClassKÖTÜ: Public Class HastaIlac Private ilacAdi As String Public Property IlacAd() As String Get Return ilacAdi End Get Set(ByVal value As String) ilacAdi = value End Set End Property Private ilacBarkod As String Public Property IlacBarkodu() As String Get Return ilacBarkod End Get Set(ByVal value As String) ilacBarkod = value End Set End Property <summary>Hastanın kullandığı ilaç Bilgisi</summary> Public Sub New(ByVal ilacBarkod As String, ByVal ilacAdi As String) IlacAd = ilacAdi IlacBarkodu = IlacBarkodu End Sub End Class 9
  12. 12. Visual Basic.NET Kodlama Standartları 2.2 Girintileme ve Kapsamı Belirleme Girinti kullanırken dikkatli olun. Girinti (sekme/tab) ve boşlukları uygun şekilde kullanın. Kod ya da açıklama yazarken boşluk kullanmayın. İsim alanı, sınıf, metot, koşul, döngü, istisnai durum yönetimi bloklarının her biri için ayrıca girintileme yapın. İYİ: Public Class HastaIslemleri Hasta Kayıt işlemleri Public Sub New() Yapıcı Metodumuz... End Sub Hasta kayıt edilir Public Sub HastaKayit(ByVal tcKimlikNo As String) End Sub End Class KÖTÜ: Public Class HastaIslemleri Hasta Kayıt işlemleri Public Sub New() Yapıcı Metodumuz... End Sub Public Sub HastaKayit(ByVal tcKimlikNo As String) End Sub End Class End Class 2.3 Boşluklar Visual Studio birçok durumda boşluk durumlarını sizin için hallediyor... Ancak fonksiyonlar ve sublar arasındaki boşlukları sizin düzenlemeniz gerekiyor. İYİ: Private Function YasHesapla(_ ByVal dogumGunu As DateTime) As Integer ... End Function Private Function YasHesapla(_ ByVal dogumGunu As DateTime, _ ByVal hesaplanacakTarih As DateTime) As Integer ... End Function10
  13. 13. 10.02.2011 v1.0KÖTÜ: Private Function YasHesapla(_ ByVal dogumGunu As DateTime) As Integer ... End Function Private Function YasHesapla(_ ByVal dogumGunu As DateTime, _ ByVal hesaplanacakTarih As DateTime) As Integer ... End Function3. Açıklamalar3.1 Blok Açıklamalar Blok açıklamalarını, fonksiyon, modül veya proje gibi kodların başında, daha sonraki kullanımlarda gerekli olabilecek açıklamaları girmek için kullanın. Açıklamaları, çok detaya inmeden genel hatlarıyla kod bloğunun kullanımını ve gerekli olabilecek diğer bilgileri kullanarak oluşturun. İYİ: Satış fiyatı hesaplaması 25.10.2011 Đrfan Mevsim Fonksiyon birim fiyatı ve KDV orani olarak gönderilen bilgilerin satış fiyatını geri döndürür. Örnek Kullanım Dim SatisFiyati as Double = SatisHesapla(1000,18) Dönüş Değeri --> 1018.0 (double) Private Function SatisHesapla _ (ByVal BirimFiyat As Integer, _ ByVal KdvOrani As Integer) _ As Double Return BirimFiyat + KdvOrani% End Function KÖTÜ: Satış fiyatı hesaplaması (yetersiz açıklama) Private Function SatisHesapla _ (ByVal BirimFiyat As Integer, _ ByVal KdvOrani As Integer) _ As Double Return BirimFiyat + KdvOrani% End Function 11
  14. 14. Visual Basic.NET Kodlama Standartları KÖTÜ: Private Function SatisHesapla _ (ByVal BirimFiyat As Integer, _ ByVal KdvOrani As Integer) _ As Double Dönüş Değeri --> 1018.0 (yanlış ve yetersiz açıklama) Return BirimFiyat + KdvOrani% End Function 3.2 Tek Satırlık Açıklamalar Tek satırlık açıklamaları alt kısımdaki kod bloğunu açıklar nitelikte, belirli işlemlerin gerçekleştiği kod bloklarının başına yazın. İYİ: Satış fiyatı hesaplaması Dim BirimFiyat As Integer = 1000 Dim KdvOrani As Integer = 18 Dim Miktar As Integer = 3 Dim SatisFiyati As Double = (Miktar * BirimFiyat) + KdvOrani% KÖTÜ: Birim fiyat tanımlaması Dim BirimFiyat As Integer = 1000 Dim KdvOrani As Integer = 18 Dim Miktar As Integer = 3 Dim SatisFiyati As Double = (Miktar * BirimFiyat) + KdvOrani% 3.3 Satır İçi Açıklamalar Satır içi açıklamaları, sadece bulunduğu satırdaki ifadeyi açıklamak ve o satıra ait olan bilgileri girmek için kullanın. İYİ: Dim KullaniciAdi As String = "Ahmet" Kullanıcının Adı Dim KullaniciSoyadi As String = "Kozdağ" Kullanıcının Soyadı Dim KullaniciSicil As String = "D201056" Kullanıcının Sicil No KÖTÜ: Dim KullaniciAdi As String = "Ahmet" Kullanıcı Bilgileri Dim KullaniciSoyadi As String = "Kozdağ" Dim KullaniciSicil As String = "D201056"12
  15. 15. 10.02.2011 v1.0 KÖTÜ: Dim KullaniciAdi As String = "Ahmet" Kullanıcı Bilgileri Dim KullaniciSoyadi As String = "Kozdağ" Kullanıcı Bilgileri Dim KullaniciSicil As String = "D201056" Kullanıcı Bilgileri3.4 Dokümantasyon Amaçlı Açıklamalar Dokümantasyon amaçlı açıklamaları; yazdığınız herhangi bir sınıf ya da fonksiyonun açıklamasını yapmak amacıyla kullanın. Açıklama yaptığınız metoda uygun olarak özet (summary), parametre ve dönüş değerleri için açıklamalar yazın. İYİ: / <summary> / Basit bir Fonksiyon.</summary> / <param name="yazi"> / Gelen yaziyi txtMetin.text e eşitler</param> Public Sub MetinYaz(ByVal yazi As String) txtMetin.Text = yazi End Sub3.5 TODO : Açıklamalar TODO: açıklamalarını projenin herhangi bir anında aklınıza gelen ama daha sonra yapılması gereken işlemler için kullanın. Böylece projenin hangi aşamasında hangi değişikleri yapmanız gerektiğini Build etmeden önce TODO: kelimesini projenizde arayarak rahatlıkla hatırlayabilirsiniz. İYİ: TODO: Hesaplamadan önce KDV oranlarının güncelliğini kontrolet Dim SatisFiyati As Double = (Miktar * BirimFiyat) + KdvOrani% KÖTÜ: TODO: Satış fiyatı hesaplanması Dim SatisFiyati As Double = (Miktar * BirimFiyat) + KdvOrani% 13
  16. 16. Visual Basic.NET Kodlama Standartları 4. Đsimlendirme Kuralları 4.1 Büyük/Küçük Harf Kullanımı Özellik ve değişken gibi öğeleri isimlendirirken kelimelerin ilk harflerini küçük diğer harflerini büyük kullanın. Sınıf ve metotlarda ise ilk harfleri büyük kullanın. İYİ: Dim toplamaYap As Integer … Dim cikarmaYap As String … Public Property ToplamaIslemi(ByVal ilkSayi As Integer, ByVal ikinciSayi As Integer) As Integer … Class Kisiler KÖTÜ: Dim TOPLAMAYAP As Integer … Dim CIKARMAyap As String … Public Property toplamaisleMI(ByVal ilkSAYI As Integer, ByVal ikinciSAYI As Integer) As Integer … Class KISILER 4.2 Pascal/Camel Casing İsimlendirme yaparken Pascal/Camel isimlendirmeyi doğru yapmak için aşağıdaki tabloyu kullanın. Metotlarda, alanlarda (field) ve özelliklerde (properties) public, private, internal da olsa Pascal Casing kullanın. Proje dosyası Pascal Casing HastaTakibi.vbproj Kaynak dosyası Pascal Casing HTLogo.jpg Sınıf (class) Pascal Casing Kisi Yapı (struct) Pascal Casing KisiListeBilgisi Arabirim (interface) Pascal Casing IKisiselBilgiler Metot Pascal Casing KisiEkle Özellik (Property) Pascal Casing Adi, Soyadi Alan (public field) Pascal Casing TCKimlikNo Alan (diğer Field) Camel Casing dogumTarihi Numaralandırma (Enum) Pascal Casing KayitDurumu Delegate (public) Pascal Casing KayitSilindi Delegate (diğer) Camel Casing kayitIsleniyor Değişken Camel Casing vergiNumarasi Parametre Camel Casing ad, soyad, yas Olay (event) Camel_Casing btnKaydet_Click14
  17. 17. 10.02.2011 v1.04.3 Visual Basic.NET Diline Özel Ayrılmış Kelimeler Aşağıdaki kelimeler Visual Basic.NET programlama diline özeldir. Bu kelimeleri farklı büyük/küçük harf kombinasyonlarında da olsa kullanmayın. AddHandler DirectCast Module Shadows AddressOf Do MustInherit Shared Alias Double MustOverride Short And Each MyBase Single AndAlso Else MyClass Static As ElseIf Namespace Step Boolean End Narrowing Stop ByRef EndIf New String Byte Enum Next Structure ByVal Erase Not Sub Call Error Nothing SyncLock Case Event NotInheritable Then Catch Exit NotOverridable Throw CBool FALSE Object To CByte Finally Of TRUE CChar For On Try CDate Friend Operator TryCast CDec Function Option TypeOf CDbl Get Optional Variant Char GetType Or Wend CInt Global OrElse UInteger Class GoSub Overloads ULong CLng GoTo Overridable UShort CObj Handles Overrides Using Const If ParamArray When Continue Implements Partial While CSByte Imports Private Widening CShort In Property With CSng Inherits Protected WithEvents CStr Integer Public WriteOnly CType Interface RaiseEvent Xor CUInt Is ReadOnly #Const 15
  18. 18. Visual Basic.NET Kodlama Standartları CULng IsNot ReDim #Else CUShort Let REM #ElseIf Date Lib RemoveHandler #End Decimal Like Resume #If Declare Long Return Default Loop SByte Delegate Me Select Dim Mod Set 4.4 Büyük/Küçük Harf Hassasiyeti Türkçe karakterler farklı algılandığından kodlama içerisinde Türkçe karakterler kullanmayın. Küçük i ve bu karakteri büyük yazarken I kullanın. Ç yerine c, ş yerine s, ğ yerine g, ü yerine u, ö yerine o tercih edin. İYİ: Dim kacisVeIlk As Integer Dim ogrenmeVeEgitim As String KÖTÜ: Dim KaçışveĐlk As Integer Dim ÖğrenmeVeEğitim As String Fonksiyonlarda parametre kullanırken, verilen tek karakterli isimleri büyük veya küçük versiyonlarını yazarak kullanmayın. İYİ: Public Property ToplamaIslemi(ByVal istenenSayi As Integer, ByVal verilenSayi As Integer) As Integer KÖTÜ: Public Property ToplamaIslemi(ByVal b As Integer, ByVal B As Integer) As Integer Aynı isimli fakat harflerinin büyüklüğü küçüklüğü farklı değişkenler tanımlamayın. İYİ: Dim denemeSayisi As Integer Dim eldeSayisi As Integer KÖTÜ: Dim deneme As Integer Dim DENEME As Integer16
  19. 19. 10.02.2011 v1.0 Farklı büyük/küçük harf hassasiyetlerinde, aynı isimli metotlar yazmayın. İYİ: Private Sub ToplamaHesabi() End Sub Private Sub CikarmaHesabi() End Sub KÖTÜ: Private Sub hesapla() End Sub Private Sub Hesapla() End Sub4.5 Kısaltmalar Sınıf, özellik, metot, değişken gibi öğelere isim verirken çok zorunlu olmadıkça kısaltma kullanmayın. İYİ: Dim kullaniciAdi As Integer Dim yetkiliMi As Boolean … Private Sub KullaniciKaydet() KÖTÜ: Dim kulAdi As Integer Dim ytklMi As Boolean … Private Sub KullKyd() Eğer aynı isme sahip aynı türden iki veya daha fazla öğe kullanılacaksa bunları numaralandırmayı tercih edin. İYİ: Dim ogrenci1 As Integer Dim ogrenci2 As Integer KÖTÜ: Dim ogrenciilk As Integer Dim ogrenciiki As Integer 17
  20. 20. Visual Basic.NET Kodlama Standartları 4.6 Kelime Seçimi Kolay okunabilir, tanımlayıcı isimleri seçin. İYİ: Private _urunAdi As String Public Property UrunAdi() As String Get Return _urunAdi End Get Set(ByVal value As String) _urunAdi = value End Set End Property KÖTÜ: Private _adiUrun As Integer Public Property AdiUrun() As Integer Get Return _adiUrun End Get Set(ByVal value As Integer) _adiUrun = value End Set End Property Tanımlayıcı isimlerinizi kısa tutmak için onları anlamsızlaştırmayın. İYİ: Private _kullaniciAdi As String Public Property KullaniciAdi() As String Get Return _kullaniciAdi End Get Set(ByVal value As String) _kullaniciAdi = value End Set End Property KÖTÜ: Private _kAdi As String Public Property kAdi() As String Get Return _kAdi End Get Set(ByVal value As String) _kAdi = value End Set End Property18
  21. 21. 10.02.2011 v1.0 Tanımlayıcılarınızı isimlendirirken hiçbir zaman tire “-”, alttan tire “_” veya alfa- numerik olmayan karakterler “!@#$%^&*()” kullanmayın. İYİ: Private _dogumTarih As Date Public Property DogumTarihi() As Date Get Return _dogumTarih End Get Set(ByVal value As Date) _dogumTarih = value End Set End Property KÖTÜ: Private _dogumTarih As DateTime Public Property Dogum-Tarihi() As DateTime Get Return _dogumTarih End Get Set(ByVal value As DateTime) _dogumTarih = value End Set End Property Tanımlayıcılarınızı hiçbir zaman Macar Notasyonu - Hungarian Notation- ile isimlendirmeyin. KÖTÜ: Dim u32Identifier As Integer Dim bBusy As Boolean Dim chInitial As Char Dim dbPi As Double Dim rgStudents As String() = New String(4) {} Dim hwndForm As Form14.7 “İsim Alanı” İsimlendirme İsim alanı adlandırırken, “Pascal Casing” tipi isimlendirme kullanın. Büyük harfle başlayıp her bir kelimenin ilk harfini büyük harf kullanarak isim verin. Kelimeler arasında “_” veya “-” benzeri ayraçlar kullanmayın. İsim alanı adlandırırken, proje/assembly adı ile aynı adı kullanın. Kullandığınız dizinlerin adlarını, isim alanı adlarında da kullanın. İYİ: KodlamaStandartlari.vbproj namespace KodlamaStandartlari KodlamaStandartlari.Models.dll namespace KodlamaStandartlari.Models KodlamaStandartlari.vbproj projesinde Models dizini namespace KodlamaStandartlari.Models 19
  22. 22. Visual Basic.NET Kodlama Standartları KÖTÜ: KodlamaStandartlari.vbproj namespace Kodlama KodlamaStandartlari.Models.dll namespace KodlamaStandartlari.Modeller KodlamaStandartlari.vbproj projesinde Models dizini namespace KodlamaStandartlari.Modeller 4.8 “Sınıf” İsimlendirme Sınıflara ad verirken, Pascal tipi isimlendirme kullanın. Büyük harfle başlayıp her bir kelimenin ilk harfini büyük harf kullanarak isim verin. Kelimeler arasında “_” veya “-” benzeri ayraçlar kullanmayın. Sınıflara ad verirken, isim veya isim öbeği kullanın. Sınıflara adlarında, “Sınıf”, “Class” veya “C” gibi ifadeler kullanmayın. İYİ: Public Class Araba … Internal Class Ucurtma … Private Class UcakMotoru KÖTÜ: Public Class Yap … Internal Class ClassUcurtma … Internal Class CucurtmaSinifi … Private Class UcakmotoruClass 4.9 “Ara Birim” İsimlendirme Ara birimlerinizi uygulayacağınız sınıfların isimleriyle birlikte başlarına “I” harfi getirerek yazın. Ara biriminizi isimlendirirken her iki kelimenin ilk harfleri büyük olacak şekilde isimlendirin.(PascalCasing) İYİ: Public Class Takip Implements ITakip Public Interface ITakip Sub StokTakip(ByVal urunAdet As Integer) End Interface Public Sub StokTakip1(ByVal urunAdet As Integer) Implements ITakip.StokTakip Me.urunAdet = urunAdet.ToString() End Sub End Class20
  23. 23. 10.02.2011 v1.0 KÖTÜ: Public Class Takip Implements StokInterface Public Interface StokInterface Sub StokTakip(ByVal urunAdet As Integer) End Interface Public Sub StokTakip1(ByVal urunAdet As Integer) Implements ITakip.StokTakip Me.urunAdet = urunAdet.ToString() End Sub End Class4.10 “Öznitelik” İsimlendirme Kendi geliştirdiğiniz “öznitelik” sınıflarınızı isimlendirirken, sınıf isminizin sonunda “Attribute” kelimesini getirin. İYİ: <AttributeUsage(AttributeTargets.Class)> _ Public Class AttributeTakip … End Class KÖTÜ: <AttributeUsage(AttributeTargets.Class)> _ Public Class Takip … End Class4.11 “Numaralandırma” İsimlendirme Numaralandırmalarınızı isimlendirirken “Pascal Casing” isimlendirme kuralını dikkate alın. Numaralandırma isimlerinizin sonuna “enum” yazmayın. Numaralandırmalarınız için tekil isimler seçin. İYİ: Enum OnemDerecesi Yuksek = 3 Orta = 2 Dusuk = 1 End Enum KÖTÜ: Enum OnemDereceleriEnum Yuksek = 3 Orta = 2 Dusuk = 1 End Enum 21
  24. 24. Visual Basic.NET Kodlama Standartları 4.12 “Sabit” ve “Salt Okunur” Alan İsimlendirme “Sabit” ve “Salt Okunur” alanlar isimlendirilirken; isim, isim tamlaması ve (çok uzunsa) anlamlı kısaltmaları; her kelimenin ilk harfi büyük olacak şekilde kullanın. (PascalCasing) İYİ: Public Const AySayisi As Integer = 12 Public Const HaftaSayisi As Integer = 52 Public ReadOnly GunSayisi As Integer = 365 KÖTÜ: Public Const Ay_Sayisi As Integer = 12 Public Const haftasayisi As Integer = 52 Public ReadOnly _Gun_Sayisi As Integer = 365 4.13 “Statik” Alan İsimlendirme “Statik” alanlar isimlendirilirken; isim, isim tamlaması ve (çok uzunsa) anlamlı kısaltmaları; her kelimenin ilk harfi büyük olacak şekilde kullanın. (PascalCasing) İYİ: Public Shared Fiyat As Integer Public Shared ToplamSaat As Integer KÖTÜ: Public Shared fyt As Integer Public Shared fiyat As Integer Public Shared toplam_saat As Integer 4.14 Parametre İsimlendirme Parametre isimlendirilirken; içeriğine göre anlamlı olarak, isim, isim tamlaması ve (çok uzunsa) anlamlı kısaltmaları; birinci kelimenin ilk harfi küçük bunu takip eden kelimelerin baş harfleri büyük olacak şekilde kullanın. (Camel Casing) İYİ: Private Sub KullaniciKaydet(kullaniciAdi As String, _ parola As String) End Sub KÖTÜ: Private Sub KullaniciKaydet(kul_adi As String, _ prl As String) End Sub22
  25. 25. 10.02.2011 v1.04.15 Metot İsimlendirme Metotlarınızı isimlendirirken “Pascal” isimlendirme kuralını kullanın.(Pascal Casing) Metot parametreleriniz için “Camel” isimlendirme kuralını kullanın.(Camel Casing) Metotlarınızı fiille veya fiil cümleleriyle isimlendirin. İYİ: Public Function Topla(ByVal birinciSayi As Integer, ByVal ikinciSayi As Integer) As Integer Return birinciSayi + ikinciSayi End Function KÖTÜ: Public Function Toplama (ByVal BirinciSayi As Integer, ByVal IkinciSayi As Integer) As Integer Return BirinciSayi + IkinciSayi End Function4.16 Özellik İsimlendirme Özelliklerinizi isimlendirirken Pascal isimlendirme kuralını kullanın.(Pascal Casing) Özelliklerinizi isim ve isim tamlamalarıyla isimlendirin. Özelliklerinizin tiplerine uygun isimlendirme yapın. Özelliklerinizi isimlendirirken başlarına Get veya Set getirmekten sakının. İYİ: Public IsimSoyisim As Integer Public OdemeTarihi As Date OnemDerecesi Enum bir tipe sahiptir. Public OnemDerecesi As OnemDerecesi KÖTÜ: Public Getisim As String Public OdemeTarihiniAl As Date Public SetOnemDerecesi As OnemDerecesi4.17 Olay İsimlendirme Olay(Event) işleyici isimlendirmede “on” ifadesini kullanmayın. İYİ: Event EventHandler As ciftikla KÖTÜ: Event EventHandler As ONciftikla 23
  26. 26. Visual Basic.NET Kodlama Standartları Tek bir “event” isimlendiriyorsanız geçmiş zamanda fiiller kullanın. İYİ: Event EventHandler As mesajYollandi Event EventHandler As ciftTiklandi KÖTÜ: Event EventHandler As mesajYolla Event EventHandler As ciftTikla 4.18 Değişken İsimlendirme ve İlk Değer Atama Vereceğimiz isimler Türkçe olmalıdır. Tanımlama yaparken kullanacağımız isimlerde ,kısaltma yapılacaksa da anlamlarını kaybetmemelerine dikkat edilmelidir. İYİ: Class ResimBoyutlandirici Dim resimyolu As String = "c:" Dim cozunurluk As String = "1024x768" End Class KÖTÜ: Class WindowsFormsApplication1 Dim resimyolu As String = "c:" Dim cozunurluk As String = "1024x768" End Class 4.19 Kontrol İsimlendirme Kontrol İsimlendirirken, kontrollerin önüne, ilgili kontrolü belirtecek bir kısaltma kullanın. İYİ: Private Sub btnBaslat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub lblAciklama_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) End Sub KÖTÜ: Private Sub Baslat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub Aciklama_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub24
  27. 27. 10.02.2011 v1.0Kontrol isimlendirme için aşağıdaki tabloyu kullanın. Kontrol Kısaltması Checkbox chk RadioButton rdb Label lbl Textbox txt DataGrid dtg Button btn ImageButton İmb Image img PlaceHolder phd Table tbl CheckBoxList cbl RadioButtonList rbl Radio(Option)Button opt Hyperlink lnk DropDownList ddl ListBox lst DataList dtl Repeater rpt Panel pnl Validators val ComboBox cmb DropDownList ddl GridView gvw hScrollBar hsc vScrollBar vsc Picture pic Container ctr DataColumn dcol DataGridDateTimePickerColumn dgdtpc DataGridTableStyle dgts DataGridTextBoxColumn dgtbc DataReader drd DataRow drw DataSet dset DataTable dtable GroupBox gbx HashTable htbl ImageList iml Integer int Literal ltr MarshallByRefObject rmt Mainmenu mm MenuItem mi MD5 md5 MDI-Frame frame MDI-Sheet sheet NumericUpDown nud PictureBox pbx RadioButton rbtn StatusBar stb TabControl tabctrl TabPage tabpage ToolBar tbr ToolBarButton tbb 25
  28. 28. Visual Basic.NET Kodlama Standartları 5. Deyimler 5.1 Basit Deyimler Basit deyimleri yazarken her bir satıra sadece bir deyim yazın. Deyimleri açık ve okunur şekilde kodlayın. İYİ: Dim sayi1 As Integer = 5 Dim sayi2 As Integer = 5 Dim toplam As Integer = sayi1 + sayi2 KÖTÜ: Dim sayi2 As Integer = 5,sayi2 As Integer = 5 Dim toplam As Integer = sayi1 + sayi2 5.2 “Return” Deyimleri Fonksiyonlardan değer döndürürken her bir koşul için ayrı ayrı değer döndürmeyin. Koşulları kontrol ettikten sonra fonksiyonunun sonunda tek bir “return” deyimi kullanın. İYİ: Public Function MusteriAdiGetir() As String MusteriAdi Getir Fonksiyonu Tanımlama Dim musteriAd As String = "" musteriAd string değişkeni tanımlama ve atama Dim musteriNo As Integer = 1 musteriNo eğişkeni tanımlama ve atama If (musteriNo = 1) Then musteriAd = "Yücel Yıldırım" Else musteriAd = "Müşteri Bulunamadı" End If Return (musteriAd) End Function KÖTÜ: Public Function MusteriAdiGetir() As String MusteriAdi Getir Fonksiyonu Tanımlama Dim musteriAd As String = "" musteriAd string değişkeni tanımlama ve atama Dim musteriNo As Integer = 1 musteriNo değişkeni tanımlama ve atama If (musteriNo = 1) Then Return "Yücel Yıldırım" Else Return "Müşteri Bulunamadı" End If End Function26
  29. 29. 10.02.2011 v1.05.3 “If, if-else, if else-if else” Deyimleri Hemen hemen her programlama dilinde olan deyimlerdir. Bir şart belirtilerek programın ona göre davranmasını sağlar. Bu yüzden bu deyimlerin standartlara göre yazılması oldukça önemlidir. Öncelikle genel olarak “if” deyimindeki yanlışlıkları ve olması gerekenleri gösterelim. Koşul deyiminiz tek satırlık ise end if kullanmayın. iYi: If ("1" = "1") Then MessageBox.Show("1 eşittir 1") KÖTÜ: If ("1"="1") Then MessageBox.Show("1 eşittir 1") End If Karmaşık koşulları “if” bloğu içine yazmayın. Bu tip koşulları blok öncesinde kontrol ederek sonucu değişkenlere yükleyerek “if” koşuluna yazın. İYİ: enYuksekNotMu = (notum > enYuksekNot) oncekiEnYuksekNotMu = (notum = enYuksekNot) gecerliNotmu = (notum < maksimumNot) If ((enYuksekNotmu And Not oncekiEnyuksekNotmu) _ And gecerlinotmu) Then … End If KÖTÜ: If (((notum > enYuksekNot) And (notum <> enYuksekNot)) And (notum < maksimumNot)) Then End If Veri tipi bool olan değişkenleri direkt olarak kullanın. “=” ya da “not” ile tekrar işleme sokmayın. İYİ: If (donenDeger) Then End If If (Not donenDeger2) Then End If KÖTÜ: If (donenDeger = true) Then End If If (donenDeger2 = false) Then End If 27
  30. 30. Visual Basic.NET Kodlama Standartları Koşul yapılarında gereksiz yere koşulun tersini “if” ile kullanmayın. Bunun yerine else kullanın. İYİ: If (donenDeger) Then MessageBox.Show("True Döndü") Else MessageBox.Show("False Döndü") End If KÖTÜ: If (donenDeger) Then MessageBox.Show("True Döndü") End If If (Not donenDeger2) Then MessageBox.Show("False Döndü") End If İç içe “if” blokları yerine mümkünse “else if” yapısı kullanın. İYİ: If (ilkDeger > ikinciDeger) Then MessageBox.Show("1. değer büyük") ElseIf (ilkDeger < ikinciDeger) Then MessageBox.Show("2. değer büyük") Else MessageBox.Show("2 side eşit") End If KÖTÜ: If (ilkDeger = ikinciDeger) Then MessageBox.Show("2 side eşit") Else If (ilkDeger > ikinciDeger) Then MessageBox.Show("1. değer büyük") Else MessageBox.Show("2. değer büyük") End If End If28
  31. 31. 10.02.2011 v1.05.4 “Select” Deyimleri Sıralı koşul durumlarının değerlendirilmesine gerek olmayan, belirli bir değere göre belirli bir işlemin yapılması gereken durumlarda “Select” kullanın. Select deyiminde mümkün olduğunca listeleme (enum) kullanın. İYİ: public enum CompressionFormat Zip, Gzip, Rar end enum Public Sub Compress(ByVal CompressionFormat As format) Select Case format Case CompressionFormat.Zip CompressWithZip() Exit Select Case CompressionFormat.Gzip CompressWithGzip() Exit Select Case CompressionFormat.Rar CompressWithRar() Exit Select Case Else CompressWithZip() Exit Select End Select End Sub KÖTÜ: public enum CompressionFormat Zip, Gzip, Rar end enum Public Sub Compress(ByVal CompressionFormat As format) If Format = CompressionFormat.Zip Then CompressWithZip() ElseIf Format = CompressionFormat.Gzip Then CompressWithGzip() ElseIf Format = CompressionFormat.Rar Then CompressWithRar() Else CompressWithZip() End If End Sub 29
  32. 32. Visual Basic.NET Kodlama Standartları Mutlaka "Case Else" ile beklenmeyen verileri kontrol edin. İYİ: Public Enum CompressionFormat .. End Enum Public Sub Compress(ByVal CompressionFormat As format) Select Case format Case CompressionFormat.Zip CompressWithZip() Exit Select Case Else CompressWithZip() Exit Select End Select End Sub KÖTÜ: Public Sub Compress(ByVal CompressionFormat As format) Select Case format Case CompressionFormat.Zip CompressWithZip() Exit Select Case CompressionFormat.Gzip CompressWithGzip() Exit Select Case CompressionFormat.Rar CompressWithRar() Exit Select End Select End Sub 5.5 “For / Foreach” Deyimleri Bu iki döngü tipinde, döngü değişkenini aksi gerekmedikçe döngü içinde tanımlayın. İYİ: Dim test() As String = {"bir", "iki", "üç"} For i As Integer = 0 To test.Length - 1 MessageBox.Show(test(i)) Next KÖTÜ: Dim i As Integer Dim test() As String = {"bir", "iki", "üç"} For i = 0 To test.Length - 1 MessageBox.Show(test(i)) Next İYİ: Dim test As String = "bir,iki,uc" For Each item As String In test.Split(",") MessageBox.Show(item) Next30
  33. 33. 10.02.2011 v1.0 KÖTÜ: Dim test As String = "bir,iki,uc" Dim item As String For Each item In test.Split(",") MessageBox.Show(item) Next5.6 “While/do-while” DeyimleriWhile döngüsü ve do-while döngüsünün formu aşağıda ki gibidir;İYİ: While koşul ... End While Do ... Loop While koşulKÖTÜ: While True If Not koşul Then Exit While ... End IfEnd WhileDo ... If Not koşul Then Exit Do End If Loop While True 31
  34. 34. Visual Basic.NET Kodlama Standartları 5.7 İstisnai Durum Yönetimi Throw-catch-finally bloğunun yapısı aşağıdaki gibidir. Asla boş bir catch bloğu tanımlamayın. Throw-catch pahalı bir işlemdir. Bunu akış denetimi için kullanmayın. Değerlendirmeyeceğiniz istisnai durumu yakalamayın. Catch bloğu içinde try-catch kullanmaktan kaçının. İstisnai durum yakalanmasını en çok yakalanma olasılığı olandan en azına doğru sıralayın. Finally bloğunda try için ayrılan kaynağı salıverin. İYİ: Try Đstisnai durum oluşma ihtimali olan kod Catch ex As Exception Oluşan durumu rapor et. Throw Finally try bloğu içinde kullanılan kaynağın salıverilmesi. End Try KÖTÜ: Try Đstisnai durum oluşma ihtimali olan kod Catch Throw Finally try bloğu içinde kullanılan kaynağın salıverilmesi. End Try Oluşan istisnai durumu tekrarlamaktansa iletmeyi tercih edin. İYİ: … Catch ex As Exception Oluşan durumu rapor et. Throw KÖTÜ: … Catch ex As Exception Oluşan durumu rapor et. Throw ex32
  35. 35. 10.02.2011 v1.0İstisnai durumlardan kaçınmak için önce kontrol etmeyi tercih edin.İYİ: If connection.State <> ConnectionState.Closed Then connection.Close(); End IfKÖTÜ: Try connection.Close(); Catch ex As Exception Oluşan durumu rapor et. End TryCatch bloğu içinden farklı bir exception fırlattığınızda mutlaka innerException özelliğineoluşan istisnai durumu ekleyin. Bu şekilde Call Stack zincirini bozmamış olursunuz.İYİ: Try Đstisnai durum oluşma ihtimali olan kod Catch ex As Exception Oluşan durumu rapor et. Throw New Exception( "istisnai durum açıklaması", ex ) End TryKÖTÜ: Try Đstisnai durum oluşma ihtimali olan kod Catch ex As Exception Oluşan durumu rapor et. Throw New Exception( "istisnai durum açıklaması" ) End Try 33
  36. 36. Visual Basic.NET Kodlama StandartlarıĐndeks A MAra birim--------------------------------------------------- 3, 20 Metot -------------------------------------------------- 1, 14, 23 B OBlok açıklama ------------------------------------------------ 11Boşluklar --------------------------------------------------- 1, 10 Olay -------------------------------------------------2, 3, 14, 23 D ÖDokümantasyon ----------------------------------------- 1, 13 Özellik-----------------------------------------------2, 3, 14, 23 F PFor ----------------------------------------------------- 2, 15, 30 Parametre -------------------------------------------- 1, 14, 22Foreach ---------------------------------------------------- 2, 30 R G Return --------------------- 2, 9, 11, 12, 16, 18, 19, 23, 26Girintileme ------------------------------------------------ 1, 10 S İ Sabit ----------------------------------------------------- 1, 3, 22İsim alanı --------------------------------------------- 3, 10, 19 Salt okunur ---------------------------------------------------- 3İstisnai durum ------------------------------------------ 31, 32 Sınıf -------------------------------------1, 3, 8, 14, 17, 20, 35 Statik --------------------------------------------------------1, 22 Switch -------------------------------------------------------2, 28 KKısaltmalar ------------------------------------------------ 1, 17 T Tek satırlık açıklama ---------------------------------------- 1234
  37. 37. 10.02.2011 v1.0TiKS (Türkçe içerikli Kodlama Standartları) Proje Ekibi Kadir ÇAMOĞLU Kadir ÇAMOĞLU, 1974 İstanbul doğumludur. 1995 yılından itibaren profesyonel olarak yazılım projelerinde görev alan ÇAMOĞLU, 1993 yılından sonra eğitim sektöründe de yer almıştır. Microsoft’un yazılım üzerine birçok sertifikasına sahip olan ÇAMOĞLU’nun Pusula, Alfa ve Kodlab yayınevlerinden çıkan on adet kitabı bulunmaktadır. Bilgisayar mühendisliği doktora öğrencisi olan ÇAMOĞLU, BilgeAdam Kurumsal ‘da yazılım ve veri tabanı danışmanı olarak çalışmaktadır.Volkan ATASEVERYazılım Dünyasına BASIC ve C/C++ dili üstünde uygulamalar geliştirerek adımatan Volkan daha sonra C# ve VB.NET, Java dilleri ile uygulamalar geliştirmiştir.Haziran 2010 tarihinde ise Bilgisayar Mühendisliği kıyafetini giymiştir. Inetatopluluklarında uzun zaman yazarlık ve editörlük yaptıktan sonraDeveloperMania.Net sitesinin topluluk lideri olmuştur. INETA User Group Leadolarak çeşitli çalışmalar yapmaktadır. Yazılım Uzmanlığı ve Danışmanlığıyapmaktadır. Microsoftun Akademik sitesi MSAkademik.Net de VB.NETeditörlüğü yapmıştır. Konuşmacı olarak çeşitli üniversite ve eğitim merkezindeseminer vermektedir. Microsoftun Türkiye’de sadece 18 kişiye verdiği SharepointServer sertifikasını almıştır. Mobil uygulamalar, ASP.NET, MOSS 2007, SQLServer ve Windows geliştirmeleri içeren projelerde görev almaktadır. Bilgisayar veteknoloji dergilerinde yazarlık yapmaktadır. Şu anda PCWorld dergisindeyazmaktadır. Ulusal Akademik Konferanslarda akademik bildiri ve makale yazarakbilime katkıda bulunmaktadır. Bilgisayar Mühendisi olarak çalışmalarınısürdürmektedir. Merve CEYLAN 2001 yılında lisede programlama eğitimi almaya başlayan Merve Ceylan, 2007 yılında Marmara üniversitesi Teknik eğitim fakültesi - bilgisayar teknolojileri ve programlama bölümünü bitirmiştir. Halen eğitimine devam etmekte olup işletme bölümü öğrencisidir. Üniversiteye devam ederken TÜBİTAK’ta 2 yıl genel muhasebe projesinde yazılım uzmanı olarak çalışmıştır. Şuan 3 yıldır devam etmekte olduğu Maltepe Üniversitesi öğrenci işleri otomasyonu projesinde proje sorumlusu olarak görev almaktadır. Bu yıllar içinde farklı şirketlerin el terminalli restoran otomasyonu ve pazar araştırması projelerinde de çalışmıştır.Burhan ÇETİNKAYA2005 senesinde yazılım dünyasına lisede Veri tabanı Programcılığı Bölümünebaşlayarak giriş yapmıştır. 2007 senesinde Türkiye çapında gerçekleşen biryazılım geliştirme yarışmasında Türkiye ikinciliğiyle gümüş madalya kazandı.Birçok orta çapta Windows - Based Client ve Enterprise uygulamalarda projeyöneticisi ve yazılım uzmanı olarak görev aldı. Şuan 1. Sınıf öğrencisi olarakYeditepe Üniversitesi – Bilgisayar ve Öğretim Teknolojileri Öğretmenliği eğitimimedevam etmektedir. 35
  38. 38. Visual Basic.NET Kodlama Standartları Bahtiyar DİLEK 1984 Amasya doğumlu olan Bahtiyar DİLEK, 16 yaşından beri programlamayla uğraşmaktadır. 2008 yılında Bilimer Bilişim Akademisinden aldığı eğitimle MCPD olmuştur. Sharepoint Developer sertifikası olan Bahtiyar, halen Bilgisayar Mühendisliği öğrencilerine danışmanlık yapmaktadır.İrfan MEVSİM1982 Tekirdağ doğumlu olan İrfan Mevsim, Marmara Üniversitesi Bilgisayar veKontrol Öğretmenliği 2005 mezunu. 1998 yılından bu yana gelen amatörprogramlamanın üzerine 2007 yılında Türkiye’nin en büyük beyaz eşyaüreticilerinden birinde profesyonel anlamda programlayama başladı. Buradageçen 3 yılın ardından şu anda işletme içinde ihtiyaç duyulan tüm otomasyon ileentegre, mobil ve SAP bağlantılı sistemler üzerine uygulama geliştirebilirdurumda. Can YAPAN 2006 yılında Bulgaristan Varna Teknik Üniversitesinde, Bilgisayar Sistemleri ve Teknolojileri bölümünde eğitimine başlamıştır. Eğitimi sırasında C# dili ve .Net teknolojileri ile ilgilenmiş ve birkaç projede yer almıştır. Halen freelancer yazılım geliştirip eğitimine devam ediyor.Hakan YAVUZ2006 senesinde Asp ile Web programcılığına başladım. Ardından Visual Basic 6.0ile devam edip daha sonrasında tekrar web programlama ile devam etme kararıalıp php ve client tabanlı dilleri öğrenmeye başladım (javascript,ajax) daha sonra.net in gelişmesi ve yaygınlaşması ile beraber c#.net ve vb.net ile devametmekteyim. Fakat ağırlığım web programlama üstünde. Yücel YILDIRIM Yücel YILDIRIM, 1981 Sivas doğumludur.2005 yılı Marmara Üni. Bilgisayar Mühendisliği mezunu olup, beş yılı aşkındır yazılım dünyasında aktif olarak rol almaktadır. Şu an bir bankanın bilgi işlem bölümünde çalışmaktadır.36

×