IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi  
 sohbet
derya sohbet


Programlama C , C# , C++ , Java , Python , Php , Javascript , Matlab Örnekleri

4Beğeni(ler)
  • 1 Post By ExCaLuBuR
  • 1 Post By She
  • 1 Post By oMeN
  • 1 Post By WildCat


 
 
Seçenekler Stil
Alt 19 Temmuz 2021, 18:37   #1
Standart C# Kodlama Kuralları

Kodlama kuralları aşağıdaki amaçlara hizmet eder:
  • Bunlar, koda tutarlı bir görünüm oluşturur, böylece okuyucular düzene göre değil, içeriğe odaklanabilir.
  • Bu kullanıcılar, önceki deneyimle dayalı varsayımlar yaparak okuyucuların kodu daha hızlı anlamasına imkan sağlar.
  • Kodu kopyalama, değiştirme ve sürdürme işlemlerini kolaylaştırır.
  • C# En Iyi yöntemlerini gösterir.

Önemli

Bu makaledeki yönergeler, Microsoft tarafından örnek ve belge geliştirmek için kullanılır. .NET çalışma zamanı, C# kodlama stili yönergelerinden benimsemiş olmaları gerekir. Bunları kullanabilir veya gereksinimlerinize uyarlayabilirsiniz. Birincil hedefler projenizin, takımınızın, kuruluşunuzun veya Şirket kaynak kodunuzun içinde tutarlılık ve okunabilirlik.

Adlandırma kuralları

C# kodu yazarken dikkate alınması gereken birkaç adlandırma kuralı vardır.

Pascal durumu

Veya adlandırırken Pascal büyük/küçük harf ("Pascalbüyük harf") kullanın class record struct .

PHP- Kodu

public class DataService
{

PHP- Kodu

public record PhysicalAddress(
    
string Street,
    
string City,
    
string StateOrProvince,
    
string ZipCode); 

PHP- Kodu

public struct ValueCoordinate
{

Adlandırma sırasında interface , adı ile önek olarak eklemek için ek olarak, Pascal büyük/küçük harf kullanın I . Bu, tüketicilerinin bir olduğunu açıkça gösterir interface .

PHP- Kodu

public interface IWorkerQueue
{

public Alanlar, özellikler, olaylar, Yöntemler ve yerel işlevler gibi türlerin üyelerini adlandırırken, Pascal büyük küçük harf özelliğini kullanın.

PHP- Kodu

public class ExampleEvents
{
    
// A public field, these should be used sparingly
    
public bool IsValid;

    
// An init-only property
    
public IWorkerQueue WorkerQueue getinit; }

    
// An event
    
public event Action EventProcessing;

    
// Method
    
public void StartEventProcessing()
    {
        
// Local function
        
static int CountQueueItems() => WorkerQueue.Count;
        
// ...
    
}

Konumsal kayıtları yazarken, kaydın ortak özellikleri olduklarından parametreler için Pascal büyük küçük harf kullanın.

PHP- Kodu

public record PhysicalAddress(
    
string Street,
    
string City,
    
string StateOrProvince,
    
string ZipCode); 

Konumsal kayıtlar hakkında daha fazla bilgi için bkz. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Kamel büyük/küçük harf

Adlandırma veya alanlar için camel casing ("camelCasing") kullanın ve ön private internal eklerini ile birlikte _ kullanın.

PHP- Kodu

public class DataService
{
    private 
IWorkerQueue _workerQueue;

İpucu


Deyimin tamamlanmasını destekleyen bir IDE'de bu adlandırma kurallarına uygun C# kodunu düzenlerken, yazma işlemi nesne kapsamlı _ üyelerin hepsini gösterir.

veya olan static alanlarla çalışırken private ön eki kullanın ve iş parçacığı statik için internal s_ t_ kullanın.

PHP- Kodu

public class DataService
{
    private static 
IWorkerQueue s_workerQueue;

    [
ThreadStatic]
    private static 
TimeSpan t_timeSpan;

Yöntem parametreleri yazarken, büyük/yenilerini kullanın.

PHP- Kodu

public T SomeMethod<T>(int someNumberbool isValid)
{

C# adlandırma kuralları hakkında daha fazla bilgi için bkz. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Ek adlandırma kuralları
  • kullanma yönergelerini kullanmayan örnekler,ad alanı niteliklerini kullanır. Bir ad alanının bir projede varsayılan olarak içe aktarılmış olduğunu biliyorsanız, bu ad alanının adlarını tam olarak nitelendirebilirsiniz. Aşağıdaki örnekte gösterildiği gibi, tek bir satır için çok uzunsa, tam adlar nokta (.) sonrasında bozuk olabilir.

PHP- Kodu

var currentPerformanceCounterCategory = new System.Diagnostics.
    
PerformanceCounterCategory(); 

  • Diğer yönergelere uygun hale Visual Studio nesnelerinin adlarını değiştirmek zorunda değildir.

Düzen kuralları
  • Varsayılan Kod Düzenleyicisi ayarlarını (akıllı girintileme, dört karakterli girintiler, boşluk olarak kaydedilen sekmeler) kullanın. Daha fazla bilgi için bkz. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  • Satır başına yalnızca bir deyim yazın.
  • Satır başına yalnızca bir bildirim yazın.
  • Devamlılık satırları otomatik olarak girintilenmezse, bunları bir sekme durdurma (dört boşluk) girintileme.
  • Yöntem tanımları ve özellik tanımları arasına en az bir boş satır ekleyin.
  • Aşağıdaki kodda gösterildiği gibi, bir ifadedeki yan tümceleri görünür hale yapmak için parantez kullanın.

PHP- Kodu

if ((val1 val2) && (val1 val3))
{
    
// Take appropriate action.

Yorum oluşturma kuralları
  • Yorumu bir kod satırının sonuna değil, ayrı bir satıra yerleştirin.
  • Açıklama metnini büyük harfle Başlat.
  • Açıklama metnini noktayla bitirin.
  • Aşağıdaki örnekte gösterildiği gibi açıklama sınırlayıcısı (//) ve açıklama metni arasına bir boşluk ekleyin.

PHP- Kodu

// The following declaration creates a query. It does not run
// the query. 

  • Yorumlar etrafında yıldız işareti blokları oluşturmayın.

Dil yönergeleri

Aşağıdaki bölümlerde, C# ekibinin kod örneklerini ve örnekleri hazırlamak için izlediği uygulamalar açıklanır.

Dize veri türü
  • Aşağıdaki kodda gösterildiği gibi, kısa dizeleri birleştirmek için dize ilişkilendirmeyi kullanın.

PHP- Kodu

string displayName = $"{nameList[n].LastName}, {nameList[n].FirstName}"

  • Döngülerde dizeleri eklemek için, özellikle büyük miktarlarda metinle çalışırken bir StringBuilder nesnesi kullanın.

PHP- Kodu

var phrase "lalalalalalalalalalalalalalalalalalalalalalalalalalalalalala";
var 
manyPhrases = new StringBuilder();
for (var 
010000i++)
{
    
manyPhrases.Append(phrase);
}
//Console.WriteLine("tra" + manyPhrases); 

Örtülü olarak belirtilmiş yerel değişkenler
  • Değişkenin türü atamanın sağ tarafından açık olduğunda veya kesin tür önemli olmadığında yerel değişkenler için örtülü yazma kullanın.

PHP- Kodu

var var1 "This is clearly a string.";
var 
var2 27

  • Tür atamanın sağ tarafından görünmüyorsa, yok kullanmayın. Türün bir yöntem adından temiz olduğunu varsaymayın. Bir değişken türü, bir new işleç veya açık bir tür ise Clear olarak değerlendirilir.

PHP- Kodu

int var3 Convert.ToInt32(Console.ReadLine()); 
int var4 ExampleClass.ResultSoFar(); 

  • Değişkenin türünü belirtmek için değişken adına güvenmeyin. Doğru olmayabilir. Aşağıdaki örnekte, değişken adı inputInt yanıltıcıdır. Bu bir dizedir.

PHP- Kodu

var inputInt Console.ReadLine();
Console.WriteLine(inputInt); 

  • Dinamik yerine kullanılmasını önleyin var . Çalışma dynamic zamanı türü çıkarımı istediğiniz zaman kullanın. Daha fazla bilgi için bkz. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].
  • Döngülerde döngü değişkeninin türünü belirlemek için örtülü yazma for kullanın.

Aşağıdaki örnek, bir deyiminde örtülü yazma for kullanır.

PHP- Kodu

var phrase "lalalalalalalalalalalalalalalalalalalalalalalalalalalalalala";
var 
manyPhrases = new StringBuilder();
for (var 
010000i++)
{
    
manyPhrases.Append(phrase);
}
//Console.WriteLine("tra" + manyPhrases); 

  • Döngülerde döngü değişkeninin türünü belirlemek için örtülü yazma foreach kullanmayın.

Aşağıdaki örnek, bir deyiminde açık yazma foreach kullanır.

PHP- Kodu

foreach (char ch in laugh)
{
    if (
ch == 'h')
        
Console.Write("H");
    else
        
Console.Write(ch);
}
Console.WriteLine(); 


Not

Tekrarlanabilir koleksiyonun bir öğesi türünü yanlışlıkla değiştirmeden dikkatli olun. Örneğin, sorgunun yürütülmesini System.Linq.IQueryable değiştiren deyiminde 'den 'ye System.Collections.IEnumerable foreach geçmek kolaydır.

Imzasız veri türleri

Genel olarak, int imzalanmamış türler yerine kullanın. kullanımı int C# boyunca yaygındır ve kullanıyorken diğer kitaplıklarla etkileşim kurmak daha int kolaydır.

Diziler

Bildirim satırda dizileri başlatılırken kısa söz dizimlerini kullanın. Aşağıdaki örnekte yerine kullanabileceğiniz bir not var yer alaz. string[]

PHP- Kodu

string[] vowels1 = { "a""e""i""o""u" }; 

Açık örnekleme kullanıyorsanız var kullanabilirsiniz.

PHP- Kodu

var vowels2 = new string[] { "a""e""i""o""u" }; 

Bir dizi boyutu belirtirsiniz, öğeleri tek tek başlatmalı.

PHP- Kodu

var vowels3 = new string[5];
vowels3[0] = "a";
vowels3[1] = "e";
// And so on. 

Temsilciler

Temsilci Func<> türlerini Action<> tanımlamak yerine ve kullanın. Bir sınıfta, temsilci yöntemini tanımlayın.


PHP- Kodu

public static Action<stringActionExample1 => Console.WriteLine($"x is: {x}");

public static 
Action<stringstringActionExample2 = (xy) => 
    
Console.WriteLine($"x is: {x}, y is {y}");

public static 
Func<stringintFuncExample1 => Convert.ToInt32(x);

public static 
Func<intintintFuncExample2 = (xy) => y


veya temsilcisi tarafından tanımlanan imzayı kullanarak Func<> yöntemini Action<> çağırma.

PHP- Kodu

ActionExample1("string for x");

ActionExample2("string for x""string for y");

Console.WriteLine($"The value is {FuncExample1("1")}");

Console.WriteLine($"The sum is {FuncExample2(1, 2)}"); 

Bir temsilci türünün örneklerini oluşturmak için kısa söz dizimlerini kullanın. Bir sınıfta, temsilci türünü ve eşleşen imzaya sahip bir yöntemi tanımlayın.

PHP- Kodu

public delegate void Del(string message);

public static 
void DelMethod(string str)
{
    
Console.WriteLine("DelMethod argument: {0}"str);

Temsilci türünün bir örneğini oluşturun ve çağırın. Aşağıdaki bildirimde, sıkıştırılmış sözdizimi gösterilmektedir.


PHP- Kodu

Del exampleDel2 DelMethod;
exampleDel2("Hey"); 

Aşağıdaki bildirim tam sözdizimini kullanır.

PHP- Kodu

Del exampleDel1 = new Del(DelMethod);
exampleDel1("Hey"); 

try-catch ve using özel durum işlemede deyimleri
  • Çoğu özel durum işleme için try-catch ifadesini kullanın.


PHP- Kodu

static string GetValueFromArray(string[] array, int index)
{
    try
    {
        return array[
index];
    }
    catch (
System.IndexOutOfRangeException ex)
    {
        
Console.WriteLine("Index is out of range: {0}"index);
        throw;
    }

  • C# using ifadesinikullanarak kodunuzu kolaylaştırın. Yalnızca bloktaki kodun yöntemine yönelik bir çağrı olduğu bir try-finally deyiminiz varsa finally Dispose , using bunun yerine bir ifade kullanın.

Aşağıdaki örnekte, try - finally ifade yalnızca Dispose finally bloğunda çağırır.

PHP- Kodu

Font font1 = new Font("Arial"10.0f);
try
{
    
byte charset font1.GdiCharSet;
}
finally
{
    if (
font1 != null)
    {
        ((
IDisposable)font1).Dispose();
    }

Deyimle aynı şeyi yapabilirsiniz using .

PHP- Kodu

using (Font font2 = new Font("Arial"10.0f))
{
    
byte charset2 font2.GdiCharSet;

C# 8 ve sonraki sürümlerinde, küme ayraçları gerektirmeyen yeni using sözdizimini kullanın:

PHP- Kodu

using Font font3 = new Font("Arial"10.0f);
byte charset3 font3.GdiCharSet

&& ve || işleçleri

Özel durumların önüne geçmek ve gereksiz karşılaştırmaları atlayarak performansı artırmak için, && & || | Aşağıdaki örnekte gösterildiği gibi karşılaştırmaları gerçekleştirirken yerine kullanın.

PHP- Kodu

Console.Write("Enter a dividend: ");
int dividend Convert.ToInt32(Console.ReadLine());

Console.Write("Enter a divisor: ");
int divisor Convert.ToInt32(Console.ReadLine());

if ((
divisor != 0) && (dividend divisor 0))
{
    
Console.WriteLine("Quotient: {0}"dividend divisor);
}
else
{
    
Console.WriteLine("Attempted division by 0 ends up here.");

Bölen 0 ise, deyimdeki ikinci yan tümce if bir çalışma zamanı hatasına neden olur. Ancak ilk ifade false olduğunda && işleci kısa devredir. Yani, ikinci ifadeyi değerlendirmez. & işleci her ikisini de değerlendirir ve 0 olduğunda bir çalışma zamanı hatasına neden olur divisor .

new işlecinde

Aşağıdaki bildirimlerde gösterildiği gibi, nesne örneklemesinin kısa biçimlerinden birini kullanın. İkinci örnekte, C# 9 ' dan başlayarak kullanılabilir olan sözdizimi gösterilmektedir.

PHP- Kodu

var instance1 = new ExampleClass(); 

PHP- Kodu

ExampleClass instance2 = new(); 

Önceki bildirimler aşağıdaki bildirime eşdeğerdir.

PHP- Kodu

ExampleClass instance2 = new ExampleClass(); 

  • Nesne oluşturma işlemini aşağıdaki örnekte gösterildiği gibi basitleştirmek için nesne başlatıcılarını kullanın.

PHP- Kodu

var instance3 = new ExampleClass Name "Desktop"ID 37414,
    
Location "Redmond"Age 2.3 }; 

Aşağıdaki örnek, önceki örnekle aynı özellikleri ayarlar ancak başlatıcıları kullanmaz.

PHP- Kodu

var instance4 = new ExampleClass();
instance4.Name "Desktop";
instance4.ID 37414;
instance4.Location "Redmond";
instance4.Age 2.3

Olay işleme

Daha sonra kaldırmanız gerekmey bir olay işleyicisi tanımlayarak lambda ifadesi kullanın.

PHP- Kodu

public Form2()
{
    
this.Click += (se) =>
        {
            
MessageBox.Show(
                ((
MouseEventArgs)e).Location.ToString());
        };

Lambda ifadesi aşağıdaki geleneksel tanımı kısaltıyor.

PHP- Kodu

public Form1()
{
    
this.Click += new EventHandler(Form1_Click);
}

void Form1_Click(object senderEventArgs e)
{
    
MessageBox.Show(((MouseEventArgs)e).Location.ToString());

Statik üyeler

Sınıf adını kullanarak statik üyeleri çağırma: ClassName.StaticMember. Bu uygulama, statik erişimi net hale kullanarak kodu daha okunabilir hale sağlar. Türetilmiş bir sınıfın adıyla temel sınıfta tanımlanan statik bir üyeyi uygun olarak nitelendirin. Bu kod derlenmişken, kod okunabilirliği yanıltıcıdır ve türetilmiş sınıfa aynı adla statik üye eklerseniz kod gelecekte bozabilir.

LINQ sorguları
  • Sorgu değişkenleri için anlamlı adlar kullanın. Aşağıdaki seattleCustomers örnek, Seattle'da bulunan müşteriler için kullanır.

PHP- Kodu

var seattleCustomers from customer in customers
                       where customer
.City == "Seattle"
                       
select customer.Name

  • Anonim türlerin özellik adlarının Pascal büyük/büyük/büyük harf kullanılarak doğru büyük harfe sahip olduğundan emin olmak için diğer adları kullanın.

PHP- Kodu

var localDistributors =
    
from customer in customers
    join distributor in distributors on customer
.City equals distributor.City
    select 
new { Customer customerDistributor distributor }; 

  • Sonuçtaki özellik adları belirsiz olduğunda özellikleri yeniden adlandırabilirsiniz. Örneğin, sorgunuz bir müşteri adı ve dağıtımcı kimliği döndürürse, bunları sonuç olarak ve olarak bırakmak yerine müşterinin adı olduğunu ve dağıtımcı kimliği olduğunu netleştirmek için yeniden Name ID Name ID adlandırabilirsiniz.

PHP- Kodu

var localDistributors2 =
    
from customer in customers
    join distributor in distributors on customer
.City equals distributor.City
    select 
new { CustomerName customer.NameDistributorID distributor.ID }; 

  • Sorgu değişkenlerinin ve aralık değişkenlerinin bildiriminde örtülü yazma kullanın.

PHP- Kodu

var seattleCustomers from customer in customers
                       where customer
.City == "Seattle"
                       
select customer.Name

  • Önceki örneklerde gösterildiği gibi from sorgu yan tümcelerini yan tümcesi altında hizalar.
  • Sonraki sorgu yan tümcelerinin azaltılmış, filtrelenmiş veri kümesi üzerinde çalışması için diğer sorgu yan tümcelerinin where önünde yan tümceleri kullanın.


PHP- Kodu

var seattleCustomers2 from customer in customers
                        where customer
.City == "Seattle"
                        
orderby customer.Name
                        select customer

  • İç from koleksiyonlara erişmek için yan join tümcesi yerine birden çok yan tümce kullanın. Örneğin, bir nesne koleksiyonu Student her biri bir test puanları koleksiyonu içerebilir. Aşağıdaki sorgu yürütülürken, 90'ın üzerinde olan her puanı ve puanı alan öğrencinin soyadını döndürür.

PHP- Kodu

var scoreQuery from student in students
                 from score in student
.Scores
                 where score 
90
                 select 
new { Last student.LastNamescore }; 

Alıntı:
docs.microsoft. Bill Wagner - Olprod
________________

06/02/2023 İnsan olan herkesin kalbi acıdı.
 
Alt 25 Temmuz 2021, 07:45   #2
She
✰ ÖzeL..
She - ait Kullanıcı Resmi (Avatar)

Standart

Elinize sağlık güzel paylaşım olmuş

________________

~ E & B ~
 
Alt 25 Temmuz 2021, 14:51   #3
✰ ÖzeL..
oMeN - ait Kullanıcı Resmi (Avatar)

Standart

Dostum emeğine sağlık Paylaşım için teşekkür ederiz

________________

Edep; aklın Tercümanıdır. İnsan edebi kadar akıllı, Aklı kadar şerefli, Şerefi kadar Kıymetlidir. Massive..




~ E & B ~
 
Alt 25 Temmuz 2021, 15:10   #4
Standart

emeginize saglik

________________

No MoRe DramA
 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 05:56.