Picproje Elektronik Sitesi

SERBEST BÖLGE => Programlama ve Algoritma => Konuyu başlatan: Erol YILMAZ - 30 Nisan 2011, 10:06:27

Başlık: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Erol YILMAZ - 30 Nisan 2011, 10:06:27
C kodunuzda hatalar var mı?

Kodunuzu yapıştırın analiz etsin.


http://gimpel-online.com//cgi-bin/genPage.py?srcFile=intro.txt&cgiScript=analyseCode.py&title=Introduction+and+Welcome&intro=Introducing+the+testing+facility&compilerOption=online32.lnt&includeOption={{quotedIncludeOption}}
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: OG - 30 Nisan 2011, 10:23:30
Bir taraftan da adam "kod bank" sahibi olsun   :)
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: picmanya - 30 Nisan 2011, 10:24:30
hocam bu tür bir iş kodun durumuna göre yerine göre sakat olabilir.
şu anda dünya üst düzey teknolojisi yazılım üzerinden kendini döndürüyor.
her kod her yere öyle şapladanak yapıştırılmamalı.
yararından çok zararı görülebilr.
yazılımını tam vermediler diye şu anda Türkiye 20 milyar dolarlık F35 projesinden vazgeçme noktasına geldi.
Zorlu ya uçak yapabilirmisin teklifini götürüyorlar.
bir kaç kişi duydum sırf iyi kod geliştirdiklerinden microsoft astronomik rakamlara bu adamları Ülkemizden alıp götürmüş.
üst düzey kodlamada sistem komple web ağına kapatılıyor
yinede elektrik hattından bilgi kaçırabilen yazılımlar olduğunu işitiyorum.
belkide kimileri komple elektriğinide kapalı bir sistemle üretip yazılımını geliştiriyor olabilir.
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Erol YILMAZ - 30 Nisan 2011, 10:28:37
Saklamaya değer kodunuzun içeriğini değil ama sadece konu başlığını söyleyebilir misiniz ?
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: OG - 30 Nisan 2011, 10:30:49
Alıntı yapılan: Allegro - 30 Nisan 2011, 10:28:37
Saklamaya değer kodunuzun içeriğini değil ama sadece konu başlığını söyleyebilir misiniz ?
Flip Flop  :D
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Erol YILMAZ - 30 Nisan 2011, 10:34:13
FF, 1930 yılında bulunmuş. Çok ticari değeri yok.
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: OG - 30 Nisan 2011, 10:35:08
Takılıyorum Hocam.
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Erol YILMAZ - 30 Nisan 2011, 10:40:05
yok yani, çok korkuyoruz, Korku kültürü yerleşmiş biraz...

Dünya, "Türkiye kod yazmasa" ilerlemeyecek gibi...

RTOS ları inceliyorum,
Adamlar ne kod sistemleri geliştirmişler,
Bizim yaptıklarımız yazılım tekniği manasında çok geride kalıyor.
Zira C yi iyi bilen insan sayımız bile çok az.

KOdumuzu kapmasınlar diye de ayrıca çekiniyoruz.
Bu korkuyu bırakıp bi an önce dünyanın geldiği seviyeye gelmemiz şart...

Muasır medeniyetleri geçemeyiz başka türlü  :)
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: CoşkuN - 30 Nisan 2011, 11:29:35
Alıntı yapılan: Allegro - 30 Nisan 2011, 10:40:05
yok yani, çok korkuyoruz, Korku kültürü yerleşmiş biraz...

Dünya, "Türkiye kod yazmasa" ilerlemeyecek gibi...

RTOS ları inceliyorum,
Adamlar ne kod sistemleri geliştirmişler,
Bizim yaptıklarımız yazılım tekniği manasında çok geride kalıyor.
Zira C yi iyi bilen insan sayımız bile çok az.

KOdumuzu kapmasınlar diye de ayrıca çekiniyoruz.
Bu korkuyu bırakıp bi an önce dünyanın geldiği seviyeye gelmemiz şart...

Muasır medeniyetleri geçemeyiz başka türlü  :)

Gömülü yazılımlar alanında geri olduğumuz konusuna katılıyorum. Ama kimsenin ticari anlamda geliştirdiği kodları bir yerlere kopyalamasından çekinmesinin eleştirilecek bir yanı olduğunu düşünmüyorum. F35 projesi örneği zaten verilmiş. Düşünebiliyor musunuz mesala Aselsan'daki mühendislerin böyle bir siteye "aa bakalım yazdığımız kodlar nasılmış" diye kodları yüklediklerini...
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: vsalma - 30 Nisan 2011, 12:41:57
Büyük projeleri gerçekleştiren şirketlerde bu analizleri yapan tool lar bulunuyor zaten. Offline olarak analiz edip rapolar sunuyor. Üretilen raporlar doğrultusunda tekrar üzerinden geçiliyor.   
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Erol YILMAZ - 30 Nisan 2011, 13:33:23
Bu kod analiz toolunu biraz açıklayayım.

Bu tool sizin projede kullandığınız bütün kaynak kodlarını değil,
harici dosya dahil etmeden çalıştırabildiğiniz kadarını analiz ediyor.
yani ben kodumu komple buraya yazayım da, analiz etsin durumu yok.

Misal yazılmış kodun da bi kısmını analiz etmek için kullanılabilir,
Kullanılmayada bilir, Olabilesi olan hataları kendi tecrübemizle buluruz.

Geçenlerde IAR dan davetiye gelmişti,
demek ki yazdığım kodları görüp dayanamadılar beni istiyorlar :)))))
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Erol YILMAZ - 01 Mayıs 2011, 11:48:00
char linbus_calculate_checksum (char* databytes, char message_length)
{
   char i;
   char sum;

   sum = 0;

   for (i=0; i<message_length; i++)
   {
      sum += databytes[i];
   }

   sum = 0-sum;

   return(sum);
}


CCS nin örneklerinin içinden alınmış olan bu koda,

sadece
"Info 818:  Pointer parameter 'databytes' (line 1) could be declared as pointing to const"
uyarısı verdi.
Anlamını bilen var mı ? :)
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Tagli - 01 Mayıs 2011, 12:04:23
Kodun içinde databytes içine bir atama yapılmamış. Yani bu veri değişmiyor. Verilen tavsiye de buna dayanıyor. Diyor ki: "Sen zaten databytes'ı değiştirmiyorsun. O zaman bunu sabit olarak tanımla. Sonradan yanlışlıkla değiştirme tehlikesini ortadan kaldırmış olursun."

Öte yandan, itiraf etmeliyim ki benim de en umursamadığım ayrıntılardan biridir sabit tanımlama yapmak. Konuyla ilgili bir diğer mesele de nesne yönelimli programlamada "data encapsulation" diye geçer. Bunların ikisi de ilk bakışta gereksiz ve saçma gibi görünse de, ileride çıkabilecek sorunlara karşı ciddi koruma sağlarlar.
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Erol YILMAZ - 01 Mayıs 2011, 12:27:12
çok mantıklı, Katılıyorum LINT e :)
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Erol YILMAZ - 01 Mayıs 2011, 19:27:36
Benim kodum yurtdışına çıkmasın,
Kendi editörümde herşeyi bitireyim diyenleri de düşündük.
PC-LINT in editörde çalışan versiyonunu temin ettik !

https://rapidshare.com/files/460099814/LINT.rar

Keil'de denedim çalışıyor.
(http://i56.tinypic.com/t4zq8m.png)
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: vsalma - 30 Eylül 2011, 10:13:51
Hocam link uçmuş. Elinizde var ise rica etsem tekrar upload edebilir misiniz?
Başlık: Ynt: Kod Kalitesi : C kodunuzda bariz hatalar neler ?
Gönderen: Burak B - 30 Eylül 2011, 10:37:23

Denemek isteyen arkadaşlar için bahsi geçen programın V9 sürümünün linki burada. (http://rapidshare.com/files/454732445/pc_lint_9.rar) Kendi sitesindeki patchlerini de yapmayı ihmal etmeyin derim. Ayrıca @gerbay' ın yazdıklarına katılıyorum.