2013-04-11 23 views
27

NetBeans'in hevesli bir kullanıcısı olarak, yeni bir değişken eklediğimde değişken bildirimleri ve atamaları bölmek için öneriler almaya devam ediyorum. ,Bölünme Beyanı ve Atama = İyi Uygulama?

String someInput; 
someInput = JOptionPane.showInputDialog(null, "- Enter something: "); 

NetBeans (ı diğer IDE hakkında bilemeyiz ikincisi tercih gibi görünüyor: versus

String someInput = JOptionPane.showInputDialog(null, "- Enter something: "); 

: Kafamın üst kapalı bir süper hızlı örnek olarak, bu Java çizgisini alalım gerçi). Her ne olursa olsun, 'iyi uygulama' olarak kabul edilecek olan her iki yol da açıkça işe yarıyor mu? Ya da tamamen kişisel tercih meselesi?

(Açıkçası iki sadece tek bir kombine olabilirdi fazladan bir satır anlamına bölme, ama bunun konuyla ilgisi yok.) Sadece gidiyoruz

+13

Herkesin, öncekine kıyasla ikinci tercih edeceğini Kafamı kurcalayan: Bu ipucu beğenmezseniz o işaretini kaldırarak değiştirilebilir. – NPE

+0

Hmm, belki NetBeans'da devam eden komik kod stili var! –

+0

İlk seçenek, nesneyi başlatmak için "ekonomik" bir yoldur. (Sanırım) İkincisi sadece biraz daha temiz, çünkü değişken bildirimini ödevden ayırmaya izin veriyor. Tamamen estetik bir bakış açısıyla, ikincisinin tercih edilebilir olduğunu düşünüyorum, ancak ilki yalınlık açısından daha caziptir – Barranka

cevap

35

beyanı ve atama bölmek neden yok onları ardışık çizgiler üzerinde bulundurmak. Ödevin şartlı olması durumunda ya da ayrı bir kod bloğunda (deneme/yakalama ya da ödev bir kurucuya, vb. Girmesi gibi) gitmesi gerekiyorsa onları bölüşürüm.

+1

Evet, bu konuda temizler. IDE'den ziyade size mantıklı olana sadık kalmak daha iyi! –

0

Bunun büyük bir şey olduğunu düşünmüyorum. Beğendiğiniz bir stili seçin ve bu oyuna devam edin (eğer bir takımdaysanız, herkesin kodlarını benzer şekilde düzenliyorsa yardımcı olur).

Ben şahsen doğru beyanının noktada benim değişkenlerine ilk tercih ediyorum. Bu nedenle, ikincisini tercih ederim.

15

erken statik olarak yazılan programlama geri izleri ortak desen onlar içinde kapsamlı gereken bloğun üstündeki gereken tüm değişkenleri bildirmek ve sonra sonradan bu değerlere atamaktır. Bu sözlerimle

, sürece güçlü konum olarak bir yıl içinde sizinle üzerinde çalışmaya kişilere kod amacını açık veya kendiniz açıkça etmek, gerçekten önemli olmamalı.

bize programların yapımına geleneksel tutum değiştirmesine izin verin: Bunun yerine bizim temel görevi ne yapacağını bir bilgisayar talimat olduğunu hayal etme, daha doğrusu biz istediğimiz insana açıklayan bize konsantre izin bilgisayar yapmak. - Donald Knuth

+6

+1 Güzel fiyat teklifi, teşekkürler! – Barranka

+1

+1 'beyanı; bildirmek; bildirmek; atamak; atamak; atama; 'NetBeans'in ilan etmekten ziyade, zorlamak için uğraştığı bir stil; atamak; bildirmek; atamak; bildirmek; atamak; '. –

+0

Gerçekten çok güzel bir alıntı, teşekkürler! –

0

iyi programlama topluluğunun çoğu tarafından kabul edilir Komple Kod, o duyurulan olarak her değişkeni başlatabilir ya defansif programlama meselesi olarak kendi sayfa 241 önerdiklerini (ilk seçenek) veya ilk kullanıldığı yere (ikinci seçeneğinize) yakınlaştırabilirsiniz.

Yine de, kitabın ilk seçeneği kullanırsanız, değişken bildiriminden ve kullanımına arasına değişmiş olabilir çünkü İkinci seçenek daha iyi olduğunu göstermektedir. Senin durumunda

, ikinci durumda beyanı ve kullanımına arasındaki fark tek bir çizgidir. Bu nedenle kitabın endişeleri geçerli değildir. Bununla birlikte, endişeleri meşrudur ve bu, Netbeans tasarımcılarının bu bahsini içermesinin nedeni olabilir (aşırı kullanıldıkları halde).

+0

Kitabın tavsiyesini yanlış uygulamış görünüyorsunuz. Başvuruda bulunduğunuz sayfa, "Visual Basic dahil, bazı diller, bildirilenleri değişkenleri başlatmayı desteklemiyor", ancak Java'nın bu dillerden biri olmadığını ve bu nedenle geçerli olmadığını belirtir. Kitap, "İdeal olarak, her bir değişkeni ilk kullanıldığı yere yakın olarak tanımlayın, _and_ bildirin ... C++ ve Java gibi destekleyen dillerde, değişkenler ilk kullanıldığı yere yakın bir yerde bildirilmeli ve tanımlanmalıdır." Java ile bir ya da önermesi değil. – DavidS

3

NetBeans örneğin Ardından aslında değeri bir tane dönüştürmek için bazı boolean

final String myString; 
if(something) { 
    myString = "somevalue" 
} else { 
    myString = "someothervalue" 
} 

bağlıdır karar bu görevi

final String myString = "somevalue" 

düşünün, işte bu hızlandırabilir olarak kodlamayı önerir Diğer bir deyişle, kod ipucunu, çok az adımda kod oluşturmak için dökülen bildirme ve atama ve if...else şablonuna kullanabilirsiniz.

Genelde koşulsuz olarak atanıyorsanız, bildirim ve atamayı bölmek için bir neden yoktur.

+1

Atamadan deklerasyonun ayrılmasının, böyle bir durumun kullanılmasını engellemeyi düşünmüyorum (eğer/else, try/catch, vb.) Buna değerse, değişkenin isminin yeniden yazılmasını gerektirir. – Alexander

+0

"Tüm kodları daha uzun ve gereksiz bir şekilde daha karmaşık hale getirelim, böylece bir gün gerekli olan kapalı bir olasılıkla zaten hızlı bir görevden ihmal edilebilir bir süreyi traş edebiliriz." Evet. – Alexander

+0

@AlexanderMomchliov kod farklıdır. Biri doğrudan atama ve bir şartlı atama. Senin yorumunun nasıl uyduğunu göremiyorum. –

10

Bu, NetBeans'e 7,0 ve 7,3 arasındaki bir yere eklenen bir seçenektir. > Araçlar> Seçenekler> Editör> İpuçları> Öneriler Bölünmüş Deklarasyonu

Screenshot of NetBeans > Prefs > Hints > Suggestions > Split Declaration

+0

IntelliJ IDEA için File - Settings - Editor - Intentions - Java - Declaration - Split Declaration'da. – RenniePet