BİL 10X İçin Stil Klavuzu Zayıf: Girinti (indent) kullanımı Matematiksel İfadeler (*/+-) Her blok içindeki ifadeler muhakkak girinti bırakılarak yazılmalıdır. Girinti için tab tuşuna basılırsa 8 karakter boşluk bırakılır. Bunun yerine girinti için 3 boşluk (hatta 2) bırakılmalıdır. Öğrenciler bu yazımda zorlanmalı hepsini aynı hizadan yazanlar tekrar tekrar uyarılmalıdır. İyi: while (q) { ...komut1; ...komut2; if (p) { ......komuta; ......komutb; } ...komut3; } Kötü: while (q) { komut1; komut2; if (p) { komuta; komutb; } komut3; } Değişken Tanımlamaları 1. Her satırda bir değişken tanımlanmalı. 2. Değişken adı bir kelimeden fazla ise ilki hariç diğerleri büyük harf ile başlamalı. 3. Değişkenlerin yanına açıklamaları yazılmalı. 4. Gösterici (*) ve referans (&) belirticileri isimlere yakın yazılmalı İyi: int int int int numberOfBoats; /* boats on duty */ kalanZaman; /* saniye olarak *ptr; &ref; int num_boats, Num_Students; int keepVariablesAslowerCase; int* my_intptr; // Keep * with name Tek operand alan (Unary ) operatörler haricinde tüm operatörlerin önüne ve arkasına boşluk konulmalıdır. İyi: sum = a + b; adet += 12; Zayıf: sum=a+b; IF IF/ ELSE IF/ ELSE İçiçe İf yapıları merdiven basamakları şeklinde ilerlememeli eşit seviyede olmalıdır. if (a == b) { // do this if a equals b // } else if (b == c){ // do this if they don’t // } else if (c == d) { // and so on... // } else { // catch all other cases that the // other if statements missed } 1. if kapatma parentezi başlama ile aynı seviyede bitmelidir. if (q) { /* some code */ // more code } 2. Tek satırlık iflerde blok açılıp kapatılmaz if (q) // Tek satırlık kod FOR Biçimi if gibi yazılmalıdır. for ( i = 0; i < 10; ++i) { // do this // and do this } WHILE Biçimi if gibi yazılmalıdır. IF / ELSE Else komutu if ‘e ait olan blok kapama işaretinden sonra yazılır. if (a == b) { // a, b ye eşitse bunu yap // } else { // a, b den farklı ise bunu yap // } while (a == b) { // do this // and this } DO Biçimi if gibi yazılmalıdır. do { // all this stuff // and all this stuff } while (a == b); SWITCH 1. Her bir durum sonunda break kullanılmaldır. 2. default durumu mutlaka yazılmalıdır. switch (yetkiSeviyesi) { case 1: // 0 için işlem yap break; case 2: // 2 için işlem yap break; default: // varsayılan durum için işlem yap } Fonksiyonlar 1. Geriye değer döndürmeyenler için void kullanılmalı. Parametre almayanlar için parantez içinde void yazılmamalıdır: İsimler 1. Kısaltmalara dikkat. Kısaltma yaparken tüm sesli harfleri silmek iyi bir yöntem değildir. Sesli harfler kullanıldığında bazı kısaltmaları anlamak çok daha kolay oluır. Okunabilirliğe yardım ettiği sürece uzun isimler iyidir. Tek harflik isimlerden mümkün olduğunca kaçınılmalıdır. Bir ismin anlamı bazan genel yapıyı da anlamaya yardım eder. Bazan iki isim arasında kararsız kalırsanız telaffuzu kolay ve anlaşılır olanı tercih edin. Çok İyi Değil: int num_stu; int prt_nbr; int ytk_svy; Daha İyi : İyi: int int int int Zayıf: SendMessage(MessageType t); bool isTime(void); 2. Mantıksal isimler Tükçe seçildiğinde sonuna “Mi” soru ekini ya da İngilizce seçildiğinde başına “is” yardımcı fiilini koymak anlamayı kolaylaştırır. Örneğin: 2. Fonksiyon bloğu fonksiyon başlığının altından başlamalıdır. Çok İyi Değil: void raporYaz(int raporTipi); int secondLeft(); int printItems(ItemType item) { // code // code // code } numberOfStudents; // a bit much... nbrStudents; // OK abbreviation partNumber; yetkiSeviyesi; if (missingString) { ... } if (mukemmel) { ... } Daha İyi : if (stringIsMissing) { ... } if (mukemmelMi) { ... } 3. Türkçe mi yoksa İngilizce isim mi kullanılmalı ? İsimlerin temsil ettikleri yapıyı açıklayacı belirtici isimler olması mutlaka gereklidir. Ancak bu isimlerin Türkçe ya da İngilizce verilmesi yönünde bu derste yönlendirici bir tavsiyede bulunulmayacaktır. Bu konudaki tavsiyemiz Türkçe isimlendirme yeğlenmişse program sonuna kadar Türkçe kullanılması, İngilizce benimsenmişse program sonuna kadar İngilizce kullanılmasıdır.
© Copyright 2024 Paperzz