C++ temel ilkeleri (C++ core guidelines) – 1

Bjarne Stroustrup ve Herb Sutter editörlüğünde sürdürülen C++ Core Guidelines çok faydalı bir çalışma. Bu proje ile Modern C++’ın temel kodlama ilkeleri belgeleniyor. Oluşturulan ilkeler ve belgeler, daha sonradan koda dökülerek C++ kodlarını temel ilkeler açısından kontrol eden programlar yazılabilecek. Bu programların doğrudan derleme aşamasında ya da ayrı bir süreç olarak çalıştırılmasıyla yazılan C++ kodlarının dilin temel ilkelerine uygun olup olmadığı denetlenebilecek. Yani yakın bir gelecekte tümleşik geliştirme ortamları (IDE’ler), bize yazılan programların temel kodlama ilkelerine uyup uymadığının kontrol edilmesi konusunda da destek verecekler. Bu proje kapsamında ele alınan belgelenen ilkelerin bir kısmını Türkçeye çevirmek ve yapacağım ek açıklamalarla birlikte bu ilkeleri daha kolay anlaşılabilir kılmayı hedefliyorum.

Projede belgelenmiş her ilkenin bir kod numarası var. İlk örnek olarak F.2 kod no’lu ilkeyi ele alalım. Buradaki F function (işlev) sözcüğünün ilk harfi. Bu harfle başlayan ilkeler genel olarak işlevlerle ilgili.

F.2: Bir işlev yalnızca tek bir lojik işlemi gerçekleştirmeli.

(Bu ilkede anlatılmak istenen bir işlevin farklı farklı işleri gerçekleştirecek şekilde yazılmaması gerektiği. Lojik açıdan bakıldığında farklı olarak ele alınabilecek işlemler farklı işlevlere bölünmeli)

İlkenin dayandığı neden:

Tek bir işlemi gerçekleştiren işlevlerin anlaşılması, test edilmesi ve yeniden kullanılması daha kolaydır.

Örnek

Aşağıda tanımlanan işlevi ele alalım:

Yukarıda tanımlanan read_and_print isimli işlev çok spesifik bir amaca hizmet ediyor. Giriş ve çıkış işlemi yalnızca belirli bir tür için yapıldığından işlevin farklı bir kullanım alanı bulması olanaklı değil. Örneğin yalnızca bir int değeri standart çıkış akımına yazdırmak için yukarıdaki işlevi çağıramayız. İşlevi çağırırsak standart giriş akımından da bir değer okumak zorundayız. Bunun yerine, işlevi uygun lojik parçalara bölerek farklı türlere göre parametrik hale getirebilirdik:

Artık read ve print işlevleri birlikte kullanılmak zorunda değil. İki işlev gerçekleştirdikleri farklı işlemler nedeniyle farklı yerlerde çağrılabilirler. Gereksinim duyulması durumunda yukarıdaki iki işlev birlikte de kullanılabilir:

İhtiyaca bağlı olarak, okuma ve yazma işlemi veri türüne, kullanılacak giriş çıkış akımının neler olduğuna, hatta hata durumunda neler yapılacağına bağlı olarak genelleştirilebilir:

 

Necati Ergin

C ve Sistem Programcıları Derneğinde eğitmen olarak çalışıyor.

Bunlar da ilginizi çekebilir

C++ temel ilkeleri (C++ core guidelines) – 1” için bir yorum

  1. Necati Bey, elinize sağlık. Bu projeyi Türkçe’ye kazandırma işini ancak sizin gibi biri yapabilirdi. Umarım bize de bolca okuma şansı olur. Derneğin laftan öteye gitmeyen projelerine rağmen tek başınıza hayata geçen bir projeyi görmek sevindirici.
    Kolay gelsin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kod Eklemek İçin Okuyun