-Reklam-
         
Bilgisayar Mühendisliği

Kodlama & Programlama Standartları Nelerdir?

-Reklam-

Programlama Standartları:

// YAZI 0’DAN DÜZENLENİYOR…
https://www.slideshare.net/EyobLube/c-coding-standards-good-programming-principles-refactoring

-Reklam-

BBM 105 SLAYT

coding standart
değişken adları uyumlı

Mesela yavaş çalışan programların veyahut geç açılan internet sitelerinin ne kadar can sıkıcı olduğu hepimizin malumudur. İşte can sıkan bu yavaşlığın olası dört sebebi vardır:
• Teknik olarak yetersiz alt yapı
• Yüksek algoritma kompleksliği
• Gereksiz büyük kod boyutu
• Temiz kodlama yapılmamış olması

-Reklam-
// Standart Bir JavaScript Kodu
var array = [];
for (var i = 0; i < 20; i++) {
  array[i] = i;
}

// Sıkıştırılmış JavaScript Kodu
for(var a=[i=0];i<20;a[i]=i++);
İleriki Güncellemelerde Algoritma Kompleksliğinin Artmasını Önlemek İçin Anlaşılır ve Mantıklı Bir Kodlama Yapın
İleriki Güncellemelerde Algoritma Kompleksliğinin Artmasını Önlemek İçin Anlaşılır ve Mantıklı Bir Kodlama Yapın
Kodlarda Tek Bir Değişiklik Tüm Kodun Yapısını Bozabileceği İçin Sık Sık Kodların Yedeğini Alın
Kodlarda Tek Bir Değişiklik Tüm Kodun Yapısını Bozabileceği İçin Sık Sık Kodların Yedeğini Alın
Programlamada Yorum Satırlarının Çeşitli Kullanım İşlevleri Mevcuttur
Programlamada Yorum Satırlarının Çeşitli Kullanım İşlevleri Mevcuttur
Programlama Yaparken Saatlerce Sıkıntı Çekeceğinize Başkalarının Hazır Tecrübe ve Çözümlerinden Faydalanabilirsiniz
Programlama Yaparken Saatlerce Sıkıntı Çekeceğinize Başkalarının Hazır Tecrübe ve Çözümlerinden Faydalanabilirsiniz
Veri İle İlgili Programlarda Veriyi İşlemek Kadar Görselleştirmenin De Önemli Olduğunu Unutmayınız
Veri İle İlgili Programlarda Veriyi İşlemek Kadar Görselleştirmenin De Önemli Olduğunu Unutmayınız
Programlar Doğru Çalışsalar Bile Doğru Operatörleri Doğru Yerlerde Kullandığımızdan Emin Olmalıyız
Programlar Doğru Çalışsalar Bile Doğru Operatörleri Doğru Yerlerde Kullandığımızdan Emin Olmalıyız
Hileli Fonksiyonlar Kullanmak Programlama Standartlarına Aykırıdır
Hileli Fonksiyonlar Kullanmak Programlama Standartlarına Aykırıdır
Temiz Kodlama İle Aynı İşlemlerin Daha Verimli Bir Şekilde Yapılması Sağlanır
Temiz Kodlama İle Aynı İşlemlerin Daha Verimli Bir Şekilde Yapılması Sağlanır
Programlarınızda Yorum Satırları Kullanarak Olası Bir Karmaşıklığı Engelleyebilirsiniz
Programlarınızda Yorum Satırları Kullanarak Olası Bir Karmaşıklığı Engelleyebilirsiniz
Yaptığınız Programları Programlama Standartlarına Uygun Hale Getirmeniz Önemlidir
Yaptığınız Programları Programlama Standartlarına Uygun Hale Getirmeniz Önemlidir
Hafıza Kullanımı Daha Verimli Olan Veri Yapılarını Kullanın
Hafıza Kullanımı Daha Verimli Olan Veri Yapılarını Kullanın
Profesyonelce Hazırlanmış Fonksiyonlar İle Programınızı Geliştirebilirsiniz
Profesyonelce Hazırlanmış Fonksiyonlar İle Programınızı Geliştirebilirsiniz
Programlarınızda While Döngülerini Olası Tüm Durumlarda Bitirmeyi Unutmayın
Programlarınızda While Döngülerini Olası Tüm Durumlarda Bitirmeyi Unutmayın
Verimli Hafıza Kullanımı ve Maksimum Performans İçin Temiz Kodlama Yapın
Verimli Hafıza Kullanımı ve Maksimum Performans İçin Temiz Kodlama Yapın
Programlarınızı Sırf Bir İşi Yapmış Olmak İçin Yapmayın
Programlarınızı Sırf Bir İşi Yapmış Olmak İçin Yapmayın
Program ve Yazılım Geliştirme Süreci Nasıl İşler?
Program ve Yazılım Geliştirme Süreci Nasıl İşler?
Programlamada ve Yazılımda Önemli Kavramlar
Programlamada ve Yazılımda Önemli Kavramlar
Program ve Yazılım Geliştiricilerinin Destek Aldığı Platformlar
Program ve Yazılım Geliştiricilerinin Destek Aldığı Platformlar
Programlama ve Yazılım Sürecinde Şelale Modeli Sıkça Tercih Edilir
Programlama ve Yazılım Sürecinde Şelale Modeli Sıkça Tercih Edilir
Orijinal Dosyaların Saklanıp Optimize Edilmiş Dosyaların Program Derlenirken Kullanılması Performans ve Verimlilik Sağlar
Orijinal Dosyaların Saklanıp Optimize Edilmiş Dosyaların Program Derlenirken Kullanılması Performans ve Verimlilik Sağlar

.min olarak adlandırma bahset, kriter dir boyutu küçültülen kodlar (kod boyutu küçültme link çık)

Mesela TC kimlik no, hesaplamada kullanmayacan. String kullan int yerine

iyi bir yazılımın özellikleri
bir programda olması gereken özellikler
file:///C:/Users/Woxra/Downloads/TiKS_CS%20v1.1.pdf

Başarılı ve iyi programın özellikleri nelerdir ve nasıl olmalıdır? Sizce bizi baştan çıkaran, bağımlılık yaratan programların buluştukları ortak bir payda, ortak özellikleri var mıdır?

-Reklam-

aynı zamanda yazının sonunda öğrendiklerinizi pekiştirmek için çözümlü özel mini bir test de sizi bekliyor.

Programlama öğrenmek isteyen veyahut öğrenen kişilerin mutlaka sorgulaması gereken bir konudur başarılı ve iyi program nitelikleri…

Programlama Standartları Nelerdir?

1- Güncel Hayattan Sorunları Çözmek

Programlama ve yazılım yapmaktaki temel amaç bir takım sorunları çözerek hayatı kolaylaştırmaktır. Zira insanlara güzel bir vaad sunamayan programlar pek fazla kullanılmadıkları için zamanla unutuluyorlar.
(Ayrıca Bakınız: Programlama Nedir?)

Örnek: Bilgisayar oyunlarının çılgınlar gibi oynanmasının ve sosyal medya uygulamalarının bu kadar çok kullanılmamasının sebebi, bu uygulamaların insanların boş vakitlerini en kolay yoldan doldurmalarını sağlamalarıdır. Hatta bu durum o kadar etkilidir ki, zamanla pek çok kişinin teknoloji ve sosyal medya bağımlılığı yaşamasına sebep olur.
(Ayrıca Bakınız: Teknoloji Bağımlılığı)
(Ayrıca Bakınız: Sosyal Medya Bağımlılığı)

-Reklam-

2- Hızlı ve Performans Odaklı Çalışmak

2.1 – Temiz Kodlama Nedir? Neden Önemlidir?

Temiz Kod Nedir (Clean Code):

Temiz kodlama ile

Bir özelliği defalarca kez, gerektiği her yerde tekrar tekrar tanımlamak saçma olur değil mi?

a) O programı yazan ellerimize yazık, gereksiz yere yoruluyorlar.
b) O kodları okuyan bilgisayara yazık, aynı işi tekrar tekrar yapıyorlar. (Evet, bilgisayarın ömründen yer bu durum)

-Reklam-

interpreter iç link

Neden Programlarımızı Temiz Şekilde Kodlamalıyız
Neden Programlarımızı Temiz Şekilde Kodlamalıyız?
Temiz Kodlanmış Programlar Yüksek Verimlilik Oranına Sahiptir
Temiz Kodlanmış Programlar Yüksek Verimlilik Oranına Sahiptir

c) Bilgisayar tekrarlar ile oyalanırken onu bekleyen ve psikolojik olarak gerilen kullanıcıya da yazık.
d) Yani herkese yazık :D

Bunun yerine baştan fonksiyonu tanımlayıp, gerektiği yerlerde o fonksiyonu çağırmak ciddi bir şekilde sizi de, bilgisayarı da, program kullanıcısını da yükten kurtaracaktır.

Başarılı programlar gereksiz kodlar barındırmazlar
Başarılı programlar gereksiz kodlar barındırmazlar

Google da nasılsa bir çeşit başarılı yazılım değil mi? Bunun en somut kanıtı ise şuan kullanıcıların neredeyse tamamı tarafından tercih ediliyor olmasıdır.

-Reklam-

Temiz Kodlama Programların Üst Düzey Performansla Çalışmasını Sağlar
Temiz Kodlama Programların Üst Düzey Performansla Çalışmasını Sağlar

Her ne kadar üstte açıklamış olsak da, direkt yazının burasını okuyan birisi vardır diye tekrardan açıklayalım. CSS ve JavaScript dosyaları kod satırlarıdır. Bir çok kodda olduğu gibi; bunların arasında da dosya boyutunu şişiren, dosyanın okunma süresini uzatan boşluklar ve yorum satırları bulunmaktadır.

İşte bu yorum satırlarını ve boşlukları kaldırarak bu dosyaların boyutlarını küçültebiliriz. Aynı zamanda bunları sıraya sokup, derleyip, sıkıştırarak daha da etkili bir işlem yapabiliriz.

Yorum satırlarını, boşluk (” “) karakterlerini ve alt satıra geçme (“\n”) karakterlerini

Minify İşlemi İle Dosya Boyutu Nasıl Küçültülür?
Minify İşlemi İle Dosya Boyutu Nasıl Küçültülür?

✅ Her dil ve her konunun kendine özel optimizasyon tekniklerini öğrenin

-Reklam-

Bugün Sıkça Tercih Edilen Programlarda Bu Özellikleri Görürüz
Bugün Sıkça Tercih Edilen Programlarda Bu Özellikleri Görürüz

➽ Esneklik (Flexibity): Programlama dilinin kullanıcıyı kısıtlama miktarına verilen isimdir.
➽ Verimlilik (Efficiency): Programlama dilinde az kodla fazla iş yapabilmeye ve dilin fonksiyonelliğine verilen isimdir.

-Reklam-

Evet, başarılı yazılımlarda, insanların çoğunu kendi içine çekmeyi başaran kimi ortak özellikler vardır. Gelin bunlara göz atalım:

Başarılı ve iyi program da bulunması gereken nitelikler
Başarılı ve iyi program da bulunması gereken nitelikler

3- Anlaşılır Kodlama ve Mimari Kullanmak

4- Kullanıcı Deneyimine Önem Vermek

# İyi program para kazanma odaklı saniye başı açılan reklamlar içermez.

Biz size demiyoruz ki yaptığınız iyi program ve yazılımlar üzerinden para kazanmayın. Elbette kazanacaksınız, işiniz bu zira ama reklamlar, tanıtımlar, görseller arasında boğulan kullanıcı o programı tercih etmez.

Sonuçta yine zarara uğrayan taraf siz olursunuz, bizden uyarması. Tabi şu fotoğraftaki gibi ince düşünmeniz gereken noktalar da olacak:

İyi program ince düşünme ve bunu uygulama yeteneği gerektirir
İyi program ince düşünme ve bunu uygulama yeteneği gerektirir

Nasılsa gerek tasarımda, gerek (özellikle) kodlama esnasında her türlü durumu düşünmek zorundasınız. Ne siz, ne de kullanıcı hata almamalı. Bunun için bolca test yapmalısınız.

# Başarılı program göz yoran bir tasarım içermez. Başlıkta dediğimiz gibi kullanıcı odaklıdır. (User experience = UX tasarım)

-Reklam-

Biz demiyoruz ki renkli, albenisi yüksek bir tasarım yapmayın. Elbette yapın, hatta öyle bir yapın ki akıllarda her daim kalıcı olsun.

5 hatta 10 yıl sonra insanlar eskiden yaptığınız tasarımı çağrıştıracak bir şeyi gördüğünde “Ha şöyle bir efsane program vardı eskiden, hatırlıyor musun birader” desinler.

Hafızalarda Kalmaya Güzel Bir Örnek

2000’li yılların başında, bilgisayarlar (daha doğrusu İnternet kafeler) yaygınlaşmaya başladığında ilk başlarda MSN sayesinde insanlar çok daha kolay iletişim kurar olmuşlardı.

Bugün sosyal medyada eski zamanlar çok güzeldi ya konulu gönderilerde MSN uygulamasından bu sebeple sürekli bahsedilir. Zira iyi program niteliklerinin çoğuna sahiptir:

-Hem bir sorunu çözmüştür,
-Hem kodlaması / tasarımı temizdir,
-Hem insanlarla duygusal bağ kurmuş ve bunun sonucunda hafızlara kazınmış ve hatırlanan bir efsane olmayı başarmıştır.

Tabi bunu başarmadan önce dökülen alın teri, verilen emek, gösterilen gayret ayrı bir konudur…

-Reklam-

Programcıların en zor anları

# Başarılı programın kodlarına bakarsanız bolca açıklama metni görürsünüz. (Hani kodların arasında bu kod şunun için diye açıklamalar daha doğrusu hatırlatma metinleri olur ya, onlardan)

Zira programın yapımcısı ileride ortaya çıkan bir sorunu çözerken veya ekstra özellik eklerken hangi değişken ne içindi, başka türlü nereden hatırlayacak değil mi?

5- Eşsiz Tasarım ve Kodların Ritmik Dansı…

TechnoGezgin.com Soru
İyi program ve hafızlarda kalıcılık için sadece süper ötesi kodlama yeteneği veyahut eşsiz bir tasarım becerisi TEK BAŞINA yeterli midir?

# İyi program ne sadece frontend (tasarım) ne de sadece backend (kodlama) ile yapılır. İkisinin ritmik ahenkli uyumu esastır.

Tasarımı inceleyen insan ne gereksiz detaylar arasında boğulmalı, ne de “Bu da çok sade be canım” demeli.

Kişi istediğini fazla dolanmadan bulabilmeli ama aynı zamanda da bunu başarılı bulmalı.

-Reklam-

İyi program iyi tasarım ve kodlama yeteneği gerektirir
İyi program iyi tasarım ve kodlama yeteneği gerektirir

İyi program ve yazılımda ise gereken kodlama niteliği ise şudur: işi en kısa yoldan en başarılı şekilde yapmalı.

Ayrıca yüz gülümseten ve “İyi ki bu ürünü tercih etmişim” dedirtecek cinsten özellik ve sürprizleri de olmalı.

6- Özgünlük ve Markalaşma Her Şeydir

Üniversitelerde bilgisayar mühendisliği veya yazılım mühendisliği bölümünde ilk öğretilen şeylerden birisidir bu.

Kod hırsızlığı yapmadan, tamamen özgün bir şekilde yapılan program iyi program niteliklerini taşır. Tabi bu demek değildir ki, kod hatası ayıklarken veya tıkandığınız yerde bir yardım almayacaksınız.

Hele hele çizginizi bozmadan, kaliteyi bırakın düşürmeyi, bırakın yerinde tutmayı, bir de yükseltirseniz, hele hele bir de markalaşıp bilinirliği arttırır iseniz orta vadede sizden kralı olmaz.

Markalaşma Doğrudan Yüksek Katma Değer Oluşturan Unsurlar Arasındadır
Markalaşma Doğrudan Yüksek Katma Değer Oluşturan Unsurlar Arasındadır

Tamam güzel diyorsun da bunlar beni kesmez, ben teori değil pratik adamıyım diyorsanız sizi doğrudan yazılım öğrenmek – programlama öğrenmek konulu yazımıza alalım.

-Reklam-

Bu yazıda yazan başarılı program ve iyi program niteliklerini uygulamayı sakın unutmayın ha :)

SSS
KULLANMAK ZORUNLU MU?
NEDEN KULLANALIM?
dile göre ekleme çıkma olabilir temel hat anlattık biz

7- Programlama Standartları Konusunda Öğrendiklerimizi Test Edelim

.#. Programlama standartları konulu bu içerik boyunca anlatılanları bu bölümde orijinal ve olabildiğince pratiğe yönelik farklı 15 soru ile pekiştirebilirsiniz.

-Reklam-

Soru-1: Aşağıdakilerden hangisi programlama standartlarına uygun programlar üretmenin sağladığı avantajlardan birisi değildir?
A) Program kodlarına bakıldığında anlaması daha kolay olur.
B) İleri dönemlerde programı güncellemesi daha kolay olur.
C) Programın en yüksek verimle çalışması sağlanır.
D) Kullanıcılara daha iyi bir deneyim sunulması sağlanır.
E) İnsanları üretilen programa bağımlı hale getirir.

💡 Çözüm: Kodlama standartlarına uyulduğunda kodların anlaşılırlığı artar ve bu sebepten ötürü programı güncellemesi de daha kolay olur. Temiz kodlama ile yüksek performans ve verim sağlanır. Yüksek performans ve uygun tasarım sonucu da iyi bir kullanıcı deneyimi sunulur. Yani yanıt E şıkkıdır.

Soru-2: Aşağıdakilerden hangilerini değişken veya metot adı olarak kullanmak programlama standartlarına uygun olmaz?
A) müsteriAdı
B) sifre
C) toplamÜcret
D) kulKydt()
E) borcSil()

💡 Çözüm: kulKydt() metodunun ismi kısaltılmaya çalışırken yanlış anlaşılmalara müsait hale getirildiği için standartlara uygun değildir. Yani yanıt D şıkkıdır.

Soru-3: Programın olabildiğince gereksiz tekrarlardan, uzatmalardan kaçınılarak doğrudan performans temelli olarak kodlanmasına ne ad verilir?
A) Hızlı kodlama
B) Temiz kodlama
C) Performans kodlaması
D) Tekrarsız kodlama
E) Uzatmasız kodlama

💡 Çözüm: Soruda verilen tanım temiz kodlama ifadesinin tanımıdır.

Soru-4: Hız ve performans konusunda başarılı bir yazılıma ait özellikler hangi şıkta doğru şekilde sıralanmıştır?
A)
B)
C)
D)
E)
// ÖNCE BU İKİ KAVRAMI SOR, ONDAN SONRA BUNU SOR

➽ Esneklik (Flexibity): Programlama dilinin kullanıcıyı kısıtlama miktarına verilen isimdir.
➽ Verimlilik (Efficiency): Programlama dilinde az kodla fazla iş yapabilmeye ve dilin fonksiyonelliğine verilen isimdir.

-Reklam-

Soru-5: Aşağıdakilerden hangisi temiz kodlama uygulamalarına uygun bir yöntem veya uygulama değildir?
A) Tekrar çağrılması gereken metotları ayrıca bir fonksiyon olarak yazıp, o fonksiyonu çağırarak kod uzunluğunu azaltmak
B) Kodları derlemeden önce sıkıştırmak ve yorum satırlarını kaldırmak suretiyle boyutlarını küçültmek (minify)
C) Programın kodlarının anlaşılırlığını bozmayacak şekilde olabildiğince kısa değişken adları kullanmak
D) Programın bozulmasını engellemek için hata yakalama bloklarını gerektiği durumlarda çekinmeden kullanmak
E) Şartlı ifadeler, döngüler, return komutları gibi uzun ifadeleri olabildiğince tek satıra indirgemeye çalışmak

💡 Çözüm: Hata yakalama blokları genellikle pahallı (fazla hafıza ve işlemci gücü gerektiren) işlemler oldukları için, ilk başta başka çözüm yolları aranmalı, en son çare hata yakalama blokları kullanılmalıdır. Yani yanıt D şıkkıdır.

Soru-6: Bir programlama dilinde matematik işlemleri için kullanılan Mat adında özel bir kod kütüphanesi olsun. Bunu kullanarak standart sapma yapmak için bu kütüphanenin hangi şekilde çağrılması kullanılmayan kod büyüklüğünü minimize eder?
A) import Mat
B) import Mat.Islem
C) import Mat.Islem.Veri
D) import Mat.Islem.Veri.standartSapma
E) Kütüphane import etmeden kendi fonksiyonunu yazmak

💡 Çözüm: Kütüphaneler genellikle bir işlemin en yüksek performans ile yapılmasını sağlayan metotları bünyelerinde bulundurdukları için kullanılırlar. Kullanılmayan kütüphanelerin çağrılması ise programın boyutunu gereksiz şekilde büyütür. Yani yanıt D şıkkıdır.

Soru-7: Aşağıdaki kod bloklarından hangisi temiz kod ilkesine en uygun şekilde kodlanmıştır? (Syntax’a değil, kod karmaşıklığına odaklanın!)

A) 
private List = [];
public function isEmpty(){
	return List.size() > 0;
}
B)
private List = [];
public function isEmpty(List liste){
	if List.size() > 0 {
		return false; }
	if List.size() == 0 {
		return true; }
}
C)
private List = [];
public function isEmpty(List liste){
	if List.size() > 0 {
		return false; }
	else if List.size() == 0 {
		return true; }
}

💡 Çözüm: Kodda şartlı ifadeler kullanılmaktan kaçınılmalı ve kullanılsa bile if if yerine else if kullanılmalıdır. Bu sebeple uygun sırası 1-3-2 şeklindedir. Yani yanıt a şıkkıdır.

-Reklam-

Soru-8: Python programlama dilinde liste verileri depolamak için sıkça kullanılır. Kümeler ise duplikelerin olmadığı veri tipidir. Bu bilgiler ışığında, elinizdeki verideki duplikelerden kurtulup final veriyi listede depolamak için hangisini kullanmak daha mantıklı olur?
A) Listedeki duplikeleri yok eden bir fonksiyon yazmak
B) Listede duplike olan değerleri ayrı bir listede depolamak
C) Veriyi kümeden geçirmek
D) Listede duplike olan değerleri ayrı bir kümede depolamak
E) Verileri kümeden geçirip listeye eklemek

💡 Çözüm: Veriler kümeden geçirilirse otomatik bir şekilde hiçbir işleme uğramadan duplikelerden kurtulur. Ardından bu verileri tekrardan listeye ekleyerek denileni yapmış oluruz. Yani yanıt E şıkkıdır.

Tasarım sorusu sor 1 tane de fuad hoca slayt? & 1 tane de program tasarımı

// 15 soru

Technogezgin.com Bilgi
Kodlama & programlama standartları nelerdir” konulu yazımız hakkında eklemek istediklerinizi, sorularınızı ve (eğer varsa) yazıdaki yanlışları yorumlarda belirtebilirsiniz.

Bilgi güçtür, paylaştıkça büyür. Bu sebeple bu yazıyı da gönül rahatlığı ile paylaşarak bize büyük bir iyilik yapabilirsiniz.

Ana Sayfa: 
https://www.technogezgin.com/
Hayata Dair Özgün ve Kaliteli Yazılarımız: 
https://www.technogezgin.com/blog/

MrKaptanTR

Hacettepe Üniversitesi'nde bilgisayar mühendisliği öğrencisi, aynı zamanda technogezgin.com internet sitesinin de kurucusu. Kafaları açan, bilgi hazinelerine değer katan, bakış açılarını adeta uçuran, “Vay be, adamlar bunu da mı yapmış?” dedirtecek cinsten içerikler üretmeye çalışan birisi.

Bir cevap yazın

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

Başa dön tuşu
Kapalı