Bir değişken değişkenin deyimsel adı nedir? [kapalı]


11

Hız Şablonu Dil'in set yönergesi sol tarafta bir değişken gerektirir. Bu işe yaramıyor.

#set ( $entries.add("d") )

Dönüş değeri için kullanmama add("d")rağmen, bir değişkene atamak zorundayım.

#set ( $x = $entries.add("d") ) 

Değişkenin gerekli olduğunu söylemek istiyorum, ancak daha sonra kullanmak gibi bir amacım yok. Yalnızca derleyiciyi yatıştırmak için var olan değişkenleri adlandırmak için bir kural var mı?


2
sadece bir yorum kullanmaya ne dersiniz
Gratzy

foo? [15 karakter]
Konrad Morawski

6
Kod kokusu diyebilirim.
Joel Etherton

Merhaba Patrick, değişken adlandırma soruları burada konu dışı: Daha fazla bilgi için, “Bu şeyi adlandır” konuyla ilgili sorular mı var?

1
@ Mark Tamam, teşekkürler. FWIW, bence bu soru "bir kavram için uygun terim" e "bir sınıf veya yöntem için önerileri adlandırma" dan daha fazla eğiliyor. Tek bir değişken için belirli bir ad değil, çeşitli dillerde ve kod tabanlarında kullanılacak deyimsel bir ad arıyorum.
Patrick McElhaney

Yanıtlar:


26

dummyBu tür bir durum için kullanmaya eğilimliyim (kullanmam gerekmiyor olsa da sahip olmam gereken bir değişken ).


Her zaman göz ardı edilir. Kendi cevabımı eklerdim ama bu konuda söyleyecek başka bir şey düşünemezdim.
John Buchanan

2
Kukla yanı sıra, ben de _ (bazı diller kabul), dökümü, önemsiz, delik (kara delikten), yararsız ve şu anda hatırlamıyorum bazı isimleri kullanıyorum.
PEdroArthur

+1 çünkü çok arama yapıldıktan sonra, varsayılan olarak, pylint'in "_" veya "dummy" adında kullanılmayan bir değişkeni yok saydığını keşfettim. logilab.org/card/pylintfeatures#id9
Patrick McElhaney


16

Dilinizin bu kullanım için özel olarak bir adı olup olmadığını kontrol etmelisiniz - Python, _atmak istediğiniz değişkenler için kullanmanız gerekir.


10
Not _desen eşleştirme (ML, Haskell, scala, vb) sağlamak dilde değişkenin bu tür geleneksel isim olan
barjak

@barjak Bilmek güzel - Bu dillerden hiç birini kullanmadım, bunun bir Python olayı olduğunu düşündüm
Izkata

12

kukla , temp , çöp , black_hole , çöp ... bunlardan herhangi biri bana bunları hiçbir şey için kullanmayacağımı söylüyor.

Eğer bir şey için eğer kullanırsam, her zaman değişkeni yeniden adlandırırım.


1
Daha sonra kullanırsanız yeniden adlandırmak için +1.
Spencer Rathbun

Teşekkürler, ama bu soruya cevap vermiyor. "Bu önemli değil" diyen birçok isim düşünebilirim. Tek, standart bir isim arıyorum.
Patrick McElhaney

Birkaç yeni dil dışında, çoğu böyle değildir. Burada en çok oy alanları "standart" olarak değerlendirmezseniz, böyle bir standart mevcut değildir.
Rook

3

Zaten çok sayıda iyi cevabınız var, ancak hızla daha doğrudan ilgili olanı fırlatacağımı düşündüm.

İade yöntemi ne döndürüyor? Boşsa, hıza sessizce referans vermesini söyleyebilirsiniz:

$!entries.add("d")

Bununla birlikte, bir değeri değiştiriyorsanız ve eski değeri döndürüyorsa (Map.put gibi), o zaman bir değer kukla değişkenine ayarlamanız gerekir, eğer geçersiz bir yöntemse, değişken.

Yeni bir değişken kullanmama konusunda kararlıysanız aşağıdakileri yapabilirsiniz:

#if($entries.add("d")) #end

Yeterince sık kullanıyorsanız, bunun için bir makro oluştururdum, ardından şablonlarınızda kullanın. Bunun ne kadar yararlı olabileceğini görmüyorum, ama en azından sadece bir kez yorum yapmanız gerekir ...


Parlak! Yöntem truebu durumda döner ($ girişleri bir ArrayList), ama dostum, ben işe yaradı.
Patrick McElhaney

Bir listeye referansta bulunmanızdan korktum. Bu yanıtı, sahte bir değişken kullanmama konusunda kullanabileceğiniz bir yolu belirtmek için düzenledim, ancak kullanacak olsaydım o kadar emin değilim ...
Scott

2

Makul bir isim verir ve sadece derleyiciyi yatıştırmak için atadığınızı açıklayan bir yorum eklerim. Birisi gibi bir değişken adı kullandığı unusedve başka bir geliştirici daha sonra bu adı bu değişkeni kullandığı ve çirkin bir karmaşa yaptı durumlarda gördüm .


Ben de kullanılmayanı seviyorum. Bununla ilgili tek sorun, yazdığım anda kullanıyorum: /
Rook
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.