Döngü içerisinde yeni değişken tanımlaması yapmayın.
Örneğin;
int toplam = 0;
for (int i = 0; i < 1000; i++)
{
int sayi = i * 10;
toplam += sayi;
}
döngüsü için sürekli aynı işlemi gören “sayi” değişkeni için bellekten 1000 adet ayrı hücre tahsis edilir, bu işlem de belli bir gecikmeye neden olur. Bunun yerine;
- int toplam = 0;
int sayi;
for (int i = 0; i < 1000; i++)
{
sayi = i * 10;
toplam += sayi;
}
- şekline “sayi” değişkeni döngü dışında tanımlanırsa bu işlem için tek bir bellek hücresi üzerinde işlem yapar.
Noktalı sayı karşılaştırmalarını “==” işlemi ile yapmayın.
Bunun nedeni karşılaştırma işlemi “==” ile yapıldığında eşitlik şartı için bütün bitlerin test edilmesidir. Özellikle bölme işlemlerinin hassasiyetinden dolayı noktalı sayılarda bölme sonrası öngörülemeyen bazı küçük değer farklılıklarının olmasıdır. Bu işlem için; tolere edilebilecek bir hata değerini tespit edin ve karşılaştırılacak sayıların farkının bu hata değerinden küçük veya eşit olmasını sınayın. Örneğin;
double hata = 0.0001;
if (toplam – toplam2 <= hata)
{
////////////////
}