C#'da Kod Parçacıkları Oluşturma - Verimlilik İçin Visual Studio'yu Özelleştirin
[[academy-video-youtube({"vid": "rn9p_K9J4yg", "start_time": "0", "title": "C#'da Kod Parçacıkları Oluşturma - Verimlilik için Visual Studio'yu Özelleştirme", "creator": "Tim Corey", "length": "48m 46s"})]]
C# ile çalışan geliştiriciler için tekrar, bir gerçektir. Belirli görevler, özelliklerin yazılmasından konsol yöntemlerinin kurulmasına ve istisnaların yakalanmasına kadar kolaylaştırılabilir. İşte kod parçacıkları devreye giriyor—küçük, güçlü, yeniden kullanılabilir kod parçaları, projelerinizde sadece bir kısayolla hızlıca ekleyebileceğiniz kodlardır.
Bu makalede, uzman C# eğitmeni Tim Corey rehberliğinde Visual Studio'da özel kod parçacıkları oluşturma ve kullanma yöntemlerini keşfedeceğiz. Tim, "C#'de Kod Parçacıkları Oluşturma – Verimlilik için Visual Studio'yu Özelleştirme" adlı videosunda, doğrudan kendi projelerinize uygulayabileceğiniz pratik adımlar, yorumlar ve örnekler sunuyor. Sonunda, verimliliğinizi artırmak, daha okunabilir kod yazmak ve geliştirme çalışmalarınızda en iyi uygulamaları hayata geçirmek için donanımlı olacaksınız.
Kod Parçacıklarının Önemi
Tim, sık sık otomatik özellikler, yapıcılar ve foreach döngüleri gibi şeyleri eklemek için kod parçacıklarını nasıl kullandığını paylaşarak başlıyor. O, "cw" yazıp iki kez Tab tuşuna basarak Console.WriteLine() eklenmesini sağlar ve imleci parantezlerin arasına yerleştirir—bu, string içerik çıktısı için önemli bir püf noktasıdır.
Ancak, belirttiği gibi, her faydalı yöntemin yerleşik bir kod parçacığı bulunmuyor. Örneğin, Console.ReadLine() bir tanesine sahip değildir. Tim'in yanıtı? Kendinizinkini oluşturun.
Visual Studio'da Bir Demo Projesi Kurma
Bağlam içinde göstermek için Tim, Visual Studio'da bir ASP.NET Core web uygulaması kurar. Proje türü kritik olmamakla birlikte, C# ve HTML dosyaları ile çalışmak, her iki dilden de örnekler sunmasına olanak tanır.
Bu önemli bir hatırlatmadır: snippet'lar yalnızca C# ile sınırlı değildir—Visual Studio tarafından desteklenen, HTML, XAML ve daha fazlasını içeren birden fazla dil için geçerli olabilir.
Dahili Kod Parçacıkları ve Kısayolların Gücü
Tim bazı mevcut kod parçacıklarını gösteriyor:
cw + Tab Tab → Console.WriteLine()
ctor + Tab Tab → Constructor
prop + Tab Tab → Otomatik uygulanan özellik (örn., public string Test
{ get; set; })- propfull → Bir arka alan ile bir özellik oluşturur
Bu kısayollar, tekrarı ortadan kaldırmak ve performansı artırmak için tasarlanmıştır. Bir tür (örneğin string veya int) ve bir ad belirtmeniz yeterli, geri kalan otomatik olarak oluşturulacaktır.
Bu yerleşik kod parçacıkları, kodunuzun tutarlı bir yapıda olmasını sağlamak için interpolasyon, public gibi erişim modifikasyonlarını ve sistem tanımlı öğeleri de gösterebilir.
VS Code'da Kendi Kısa Kodunuzu Oluşturma
Tim, bir snippet oluşturucu araç kullanmak yerine, basitliği ve XML söz dizimi vurgulaması nedeniyle Visual Studio Code'u tercih ediyor.
Bir readline.snippet adlı bir dosya oluşturur ve temel XML yapısını gösterir:
<CodeSnippets>
<CodeSnippet Format="1.0.0">
<Header>
<Title>Console.ReadLine</Title>
<Shortcut>cr</Shortcut>
<Description>Creates Console.ReadLine()</Description>
<Author>Tim Corey</Author>
</Header>
<Snippet>
<Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets><CodeSnippets>
<CodeSnippet Format="1.0.0">
<Header>
<Title>Console.ReadLine</Title>
<Shortcut>cr</Shortcut>
<Description>Creates Console.ReadLine()</Description>
<Author>Tim Corey</Author>
</Header>
<Snippet>
<Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>Bu, ham C# kodunu sarmak için
Tim, formatlamanın kullanıcının Visual Studio ortamından miras alındığını, yani girintileme ve boşlukların ayarlarınızla eşleşeceğini belirtir.
Visual Studio'ya Kod Parçacıklarını İçe Aktarma
Tim, Araçlar > Kod Parçacığı Yöneticisi kullanarak nasıl .snippet dosyası içe aktarılacağını anlatıyor. Kod Parçacıklarım konumunu seçer, böylece parçacık ihtiyaç duyulduğunda görünür.
İçeri aktarıldığında, cr + Tab Tab yazmak Console.ReadLine() satırını ekler, bu da bir değişkene değer atamak veya bir istisna işleme bloğu içinde kullanmak için hazırdır.
Yeniden Kullanılabilir Dokümantasyon Başlıkları
Sonraki adımda, Tim, kurumsal projelerde veya iş birliğine dayalı ekiplerde sıkça ihtiyaç duyulan bir dokümantasyon parçasını gösteriyor. O, bir yorum bloğu oluşturan docme kısayolu ile bir kod parçası oluşturur:
/// Title:
/// Author:
/// Date:
/// Purpose:/// Title:
/// Author:
/// Date:
/// Purpose:Bu, değişikliklerin izlenmesi, yazar bilgisi ve dosya bağlamı için idealdir. Bazı araçlar, örneğin Git, sürüm kontrolünü yönetirken, başlıklar özellikle büyük ekiplerde hızlı görsel referanslar sunar.
HTML Parçaları: Bootstrap Form Örneği
Snippets sadece C# kodu için değildir. Tim, formlar, girdi öğeleri ve yapılandırılmış etiket koleksiyonları oluşturmak için mükemmel olan HTML'de bunları nasıl kullanacağınızı gösteriyor.
Bir Bootstrap formu örneğini kopyalar ve aynı XML kod dizisi formatına sararak dili HTML olarak değiştirir. İthal ettikten sonra, kısayol sampleform yazıldığında, hazır bir HTML yapısı eklenir ve sizi sürekli harici URL'lere başvurmaktan veya tekrar edilen kodları kopyalamaktan kurtarır.
Yer Tutucular ve Değişkenlerle Gelişmiş Kod Parçası
Burada işler daha gelişmiş ve daha güçlü hale geliyor. Tim, bir yapılandırma değerini alan bir snippet oluşturur:
_config.GetValue<string>("values:myTest");_config.GetValue<string>("values:myTest");Geliştiricinin sadece farklı olanı doldurması için tip (string, int, bool) ve yol (values:myTest) için nasıl yer tutucular kullanacağını gösterir.
XML'de, şu şekilde kullanır:
<Declarations>
<Literal>
<id>ValType</id>
<Default>string</Default>
<ToolTip>Data type of the value</ToolTip>
</Literal>
<Literal>
<id>Path</id>
<Default>values:myTest</Default>
<ToolTip>Config path</ToolTip>
</Literal>
</Declarations><Declarations>
<Literal>
<id>ValType</id>
<Default>string</Default>
<ToolTip>Data type of the value</ToolTip>
</Literal>
<Literal>
<id>Path</id>
<Default>values:myTest</Default>
<ToolTip>Config path</ToolTip>
</Literal>
</Declarations>Snippet'in gövdesinde:
_config.GetValue<$ValType$>("$Path$")_config.GetValue<$ValType$>("$Path$")Değişkenlerin ve bildirimlerin bu kullanımı, esnek, ifade edilebilir ve özlü kod üretimine imkan tanır. Bu, güvenlik ayarlarını alma, sözlüğe erişim veya JSON dosyalarından iç içe geçmiş değerleri okuma gibi görevler için idealdir.
Neden Snippetler Performansı İyileştirir
Tim, snippet'lerin sadece hızla ilgili olmadığını—tutarlı uygulamaları teşvik ettiğini, hataları azalttığını ve takım genelinde kod okunabilirliğini geliştirdiğini açıklayarak konuyu tamamlar. Zamanla, her snippet için sadece birkaç saniye tasarruf etmek bile saatlerce tasarruf edilmesine neden olabilir.
Snippet'lerin aşağıdaki konularda yardımcı olduğunu vurgular:
Ortak görev başlatma
try-catch-finally ile standart hale getirilmiş istisna yönetimi
Tüm sınıf şablonlarını oluşturmak
- finally blokları içinde çalışmak, yapılandırılmış catch blokları ve metod geçersiz kılmaları
Son Düşünceler: Bir Geliştirici Avantajı
Karmaşık sistemler veya basit uygulamalar oluşturuyor olun, kod parçacıkları C veya C# kodunu daha hızlı ve tutarlı yazmanıza yardımcı olabilir. Sizi şunları yapmaya yönlendirir:
Tekrarı ortadan kaldırmak
İş mantığına odaklanmak
- Temiz, doğru bir şekilde entegre edilmiş ve iyi belgelenmiş bir kod tabanı sürdürün
Tim'in kapsamlı videosunda önerdiği gibi, kendi kodlama alışkanlıklarınızı keşfedin. Defalarca aynı şeyleri yazdığınız yerleri keşfedin. Sonra tek bir yaklaşım seçin: bir snippet oluşturun.
Kısa süre sonra iş akışınızı dönüştürdüğünüzü fark edeceksiniz — geliştirmeyi daha verimli, organize ve keyifli hale getiriyor.
Başlamak İçin Hızlı Snippet Fikirleri
tryfinally – try + finally blokları oluştur
logerror – Log.Error() ile günlük kaydı mantığı ekle
propnotify – INotifyPropertyChanged ile birlikte özellik
filecheck – File.Exists(path) ile satır içi mantık
- foreachdict –
Dictionary<TKey, TValue>'yi döngü ile gez
Tim'in İpucu: Başka bir dosyadan sadece kopyala-yapıştır yapmayın—bir snippet yapın ve bir daha asla yeniden yazmayın.

