Bu kodu en kısa nasıl yazarım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Bu kodu en kısa nasıl yazarım

Mesaj gönderen sadettinpolat »

programlama dillerinin gucleri "bir isi kac satirlik bir kodla" yapabildikleri ile olculemez. bir isi az satirla yapmak zaten maharet degildir. maharet bir isi herkesin kolay bir sekilde anlayabilecegi , kabul edilebilir bir hizda ve sonraki zamanlarda "bu kod burda ne is yapiyor acaba?" dedirtmeyecek bir sekilde yapmaktir. eger sizin dediginiz gibi "guc" , bir isi en kisa kod bloguyla yapmak olsaydi Ternary Operator en cok kullanilan operatorlerden biri olurdu. C dilinde Ternary Operator 3 farkli ifade alarak birinci ifadenin degerine gore ikinci ya da ucuncu ifadenin degerini hesaplar.

Kod: Tümünü seç

Ifade1 ? Ifade2 : Ifade3
Derleyici ? Semboluyle Karsilastiginda Bir Kosul Operatörü Olduğunu Anlar Ve ? Karakterinin Solundaki Ifadenin (ifade1) Sayısal Değerini Hesaplar. Eğer Ifade1’in Değeri 0 Dışı Bir Sayısal Değerse, Bu Durum Koşul Operatörü Tarafından Dogru Olarak Değerlendirilir, Ve Bu Durumda Yalnızca Ifade2’nin Sayısal Değeri Hesaplanır.
Eğer Ifade1’in Değeri 0 Ise Bu Durum Koşul Operatörü Tarafından Yanlış Olarak Değerlendirilir Ve Bu Durumda Yalnızca Ifade3’ün Sayısal Değeri Hesaplanır.
tipki basit bir if then else blogu gibi. if then else ifadesini kullanirsaniz kodunuz ortalama 4 satir olacaktir ama ayni isi Ternary Operator ile tek satirda yapmakta mumkun. Buna ragmen ustadlar cok gerekmedikce Ternary Operator kullanimini pek tavsiye etmezler. cunku Ternary Operator , kodun okunabilirligini , gelistirilebilirligini ve anlasilabilirligini oldukca azaltir. If then else blogunu her acemi programci okuyabilir ama Ternary Operator kullanilarak yazilmis bir ifadeyi acemi programci biraz zor okur , okusa bile yanlis okuma ihtimali oldukca yuksektir. :)
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
mcihad
Üye
Mesajlar: 283
Kayıt: 18 Tem 2003 03:28
Konum: Sivas

Re: Bu kodu en kısa nasıl yazarım

Mesaj gönderen mcihad »

emin_as yazdı:Yanlış anlattım galiba, C# sadece kütüphanelerdeki fonksiyonların fazla olmasıyla degil, ifadeleriyle diger dillere açık üstünlüğü vardır.

Kod: Tümünü seç

using System;
using System.Collections.Generic;
using System.Text;

namespace LINQTest
{
     class Program
     {
          static void Main(string[] args)
          {
               List<Personel> personeller = new List<Personel>();
               personeller.Add(new Personel{Ad="Sefer",No=3});
               personeller.Add(new Personel{Ad="Ali",No=6});
               personeller.Add(new Personel{Ad="Mehmet",No=2});
               personeller.Add(new Personel{Ad="Burak",No=16});
               personeller.Add(new Personel{Ad="Oguz",No=10});

               //var sonuclar = .. şeklinde de diyebilirdik.
               IEnumerable<string> sonuclar = from val in personeller
                                                                          where val.No > 5
                                                                          orderby val.Ad
                                                                          select val.Ad.ToUpper();

               foreach (string ad in sonuclar)
               {
                    Console.WriteLine( ad );
               }
          }
     }

     public class Personel
     {
          public string Ad;
          public int No;
     }
}

Yukarıdaki kodun alındıgı sayfa : http://www.csharpnedir.com/makalegoster.asp?MId=600

Yukarıdaki programı herhangi bir dille bu kadar sade ve kısa yazamazsınız.
Python ile çok daha kısa kodla yapılabilir.
Bize iyilik yaraşır.
Cevapla