AlgoritmaYazılım

Programlama ve Kodlama İlkeleri 2017

Kodlama ilkeleri, daha iyi bir programcı olma konusunda yıllar boyunca bana yardımcı oldu ve bu makalede, geliştiricilerin daha kolay bakımlı olması için daha verimli ve daha güçlü kod üretebilecekleri konusunda yardımcı olacağına inanıyorum. Bu kodlama ilkelerini izleyerek, geliştirme ve bakım süresinden tasarruf edin ve genellikle daha sonraki geliştirme aşamasında ortaya çıkan diğer birçok tıkanıklığı yenebilirsiniz.

Kodlama ilkeleri nedir?

Programlama, kodlama, test etme, sorun giderme, hata ayıklama ve bir sistemin bakımını yapma işlemidir. Programlama ilkeleri, mükemmel kalitede kod yazmanıza ve iyi bir kodlama uygulaması yapmanıza yardımcı olur.

Bir geliştirici neden ilkelere uymalı?

Maceramı C dili ile programlamayla başladığımda, tam makarna kodu yazmıştım. Bundan sonra C # kodlamaya başladım. Burada da aynısını yaptım. Bu, her dosyanın birçok sorumluluğuna, soyutlama yapılmadığı ve sorunları gidermek ve düzeltmek zor olduğu anlamına geliyor. Uygulamalar üzerinde çalışan yalnızca bir kişi değildim; ekibim de aynı şekilde çalışıyordu. Daha sonra kodun kalitesini nasıl artıracağımı düşünmeye başladım. Ve cevap, Kodlama İlkeleri ‘ydi.

Aslında, program yazma çoğu zaman kişisel zevkinize bağlıdır ancak programların sizin tarafınızdan ve başkaları tarafından hem kolay anlaşılır hem de kolay kılınması için kendi stilinizde izlenmesi gereken bazı ilke veya kurallar vardır ve aynı zamanda ilkeler istikrarlı, ölçeklenebilir ve sağlam kodlama olmalıdır.

Geliştiricinin Kodlama İlkeleri ‘ni izlemesinin yararları nelerdir?

Okunabilirlik
Tüm geliştiriciler kodu anlayan bir ekipte olabilmeli.
Uzayabilirlik
Yazılım dünyasında, değişim taleplerini suçlamamalıyız; her an yenilikler gelecektir. Dolayısıyla, kodumuzun mevcut işletme kurallarını bozmadan daima genişletmesi kolay olmalıdır.
İdame
Uygulama, gevşekçe birleştiğinden, geliştirme ekibi ve üretim destek ekibi tarafından da bakım yapılması kolay olmalıdır.
Modülarite
Bir programı tekrar kullanılabilir parçalara bölün: işlevler, modüller, kütüphaneler.

Programlama İlkeleri Türleri

DRY (Don’t-Repeat-Yourself )

KENDİNİ  TEKRARLAMA

Kendi kodlarını tekrar tekrar yazman, bakım kâbuslarına, zayıf faktoringe ve mantıksal çelişmelere neden olabilir. “Her bilgi parçası, bir sistem içinde tek, belirsiz, yetkili bir temsil olmalıdır”. Başka bir deyişle, bir mantık parçası yalnızca bir uygulamada bir kez temsil edilmelidir.
Tekrarlama, tüm yazılım kötülüklerinin köküdür.
Tekrarlama bir israftır, vakitten nakitten…

KISS (Keep It Simple, Stupid)

BASİT TUTUN

Günümüzde programlama dilleri, çerçeveler ve API’ler, çeşitli sorunlar için gelişmiş çözümler üretmek için güçlü araçlara sahiptir. Bazen geliştiriciler, tüm bu karmaşık özellikleri kullanan “akıllı” çözümler yazmaya cazip gelebilir.

KISS ilkesi, birçok sistemin karmaşık hale getirmek yerine basit tutulmaları halinde en iyi sonuç verdiğini belirtmektedir; bu nedenle basitlik tasarımda kilit bir hedeftir ve gereksiz karmaşıklıktan kaçınılmalıdır.

Bu ilke, planlama, tasarım ve geliştirme gibi birçok ticari faaliyeti içeren herhangi bir senaryoya uygulanabilir.

YAGNI (You Aren’t Gonna Need It)

BUNA İHTİYACIN YOK

Geliştiriciler olarak, projenin gelecekteki kullanılabilirliği konusunda her zaman çok şey düşünürüz ve “ihtiyaç duymamız durumunda” veya “sonunda onlara ihtiyacımız olacağı” düşüncesinde bir takım ekstra özellikler yapmaya çalıştığımız oluyor. Sadece bir kod … Yanlış! Bunu tekrar tekrar yapacağız: Buna ihtiyacınız yoktu, ihtiyacımız yok ve projelerimizin çoğunda … “İhtiyacımız Olamaz.”

YAGNI, “gerekli olana kadar bir şeyi uygulamayacağını” belirtmektedir.

YAGNI’yi uygulamak için iki temel neden vardır;
Zamandan tasarruf etmek çünkü ihtiyacınız olmayan çıktı kodunuzu kullanmaktan kaçınırsınız.
Kodunuz daha iyi ve temiz olmasını sağlarsınız.

SOLID

SOLID ilkesi iyi nesne yönelimli tasarım ve programlamayı desteklemektedir.

  • S – Single Responsibility Principle (SRP): Nesnenin sadece bir sorumluluğu olmalıdır, yani olası bir değişiklikte tek bir nedene dayandırılmalıdır.
  • O – Open/Closed Principle (OCP): Nesne genişlemeye açık ancak değişikliklere kapalı olmalıdır.
  • L – Liskov ‘s Substitution Principle (LSP): Programdaki nesnelerin, programın çalışmasında sorun yaratmadan kendi alt örnekleri ile değiştirilebilir olmasıdır. Bu aynı zamanda sözleşmeyle tasarım (Design by Contract ) olarak bilinir.
  • I – Interface Segregation Principle (ISP): Nesnelerin ihtiyaç duymadıkları metodların Interface’lerinden münkün olduğunca ayrıştırılmasıdır.
  • D – Dependency Inversion Principle (DIP): Yüksek seviyeli sınıflar, düşük seviyeli sınıflara bağlı olmamalı, her ikisi de soyut kavramlara bağlı olmalıdır.
Sonuç

Bir program yazmanın kendi kendine disiplin olduğunu unutmamalısınız. Programlarınızla ilgilenecek tek kişi olduğunuzu aklında tutmalısınız. Üstelik, hata ayıklarken düzgün yazılan programlar size çok yardımcı olacaktır.

Bu ilkeler, size ve başkalarına iyi, temiz ve yüksek kaliteli kod yazması veya sunması konusunda yardımcı olacaktır.

Etiketler

Ramazan Şerif

Selamun Aleyküm Adım Ramazan Şerif Akbuz. Bilişime olan merakım ortaokul yıllarımda başladı.7.Sınıfta Türkiye Eğitim Gönülleri Vakfı aracılığı ile girdiğim Legorobot yarışmasında Türkiye de ilk 20 ye girdik.Bilişime olan heyecanım lise yıllarımda da devam etti.Liseyi Veritabanı Programcılığı bölümünde okudum.Matematiğim zayıftı bende 2 yıllık Omü bilgisayar programcılığına geçiş yaptım.Okulu başarıyla bitirdim.2 Yıldır bir yandan Freelance olarak çalışıyor , bir yandanda iş arıyorum.Bakdım olacağı yok birazda kendimi geliştirme kararı aldım.DGS ile Fırat Üniversitesi Yazılım Mühendisliğine geldim.Maceranın devamında bir baltaya sap olabilmek dileğiyle "Zaman zam anıdır Gülüşüme sende gül üşüme"

İlgili Makaleler

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Göz Atın

Kapalı
Başa dön tuşu
Kapalı
%d blogcu bunu beğendi: