Son birkaç yılın çoğunu esas olarak C # ve SQL ile çalışarak geçirdim. Bu süre zarfında çalıştığım her programcı, bir fonksiyon ya da kontrol akış ifadesinin açılış ayracını yeni bir satıra yerleştirme alışkanlığıydı. Yani ...
public void MyFunction(string myArgument)
{
//do stuff
}
if(myBoolean == true)
{
//do something
}
else
{
//do something else
}
Özellikle if / else ifadelerinde, bu alanın ne kadar boşa harcandığı beni her zaman etkiledi. Ve biliyorum ki C # 'nın sonraki sürümlerinde alternatifler var:
if(myBoolean == true)
//do something on one line of code
Ama neredeyse hiç kimse onları kullandı. Herkes yeni moda kaşlı ayracı işini yaptı.
Sonra uzun bir aradan sonra JavaScript'i tekrar kullandım. Benim hafızamda, JavaScript geliştiricileri aynı kaşlı ayraç-yeni satırını yaparlardı ancak tüm yeni kütüphaneler ve diğer şeylerle, geliştiricilerin çoğu açılıştan sonraki aylığı açıkladı:
function MyJavaScriptFunction() {
//do something
}
Bunun anlamını görebilirsiniz, çünkü kapama ve fonksiyon işaretleyicileri JavaScript'te popüler hale geldiğinden, çok fazla alan tasarrufu sağlar ve işleri daha okunaklı hale getirir. Bu yüzden neden C # 'da bitmiş bir şey olarak görünmediğini merak ettim. Aslında, yukarıdaki yapıyı Visual Studio 2013'te denerseniz, açılış desteğini yeni bir satıra yerleştirerek aslında sizin için yeniden düzenler!
Şimdi, sadece Kod İnceleme SE bu soruyu gördü: https://codereview.stackexchange.com/questions/48035/questions-responses-let-me-tell-you-about-you hangi Java öğrendim bir Çok fazla aşina olmadığım bir dil, deklarasyondan hemen sonra kaşlı ayraçlarınızı modern JavaScript tarzında açmak için titizlik sayılır.
Her zaman C # 'nın Java'dan sonra modellendiğini ve aynı kodlama standartlarının çoğunda bulunduğunu anladım. Ancak bu durumda, öyle görünmüyor. Öyleyse, iyi bir sebep olması gerektiğini düşünüyorum: Bunun nedeni nedir? C # geliştiricileri (ve Visual Studio) neden yeni bir satıra kıvrımlı parantez açılmasını zorlar?
if(myBoolean == true)
bana pek mantıklı gelmiyor. Biz varken, değilken if ((myBoolean == true) == true)
?? Sadece if (myBoolean)
ve bu kadar yeter. Üzgünüm, benim evcil hayvan peeve.