BİL 10X İçin Stil Klavuzu

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.