2010-04-22 21 views
17

Bir boolean veya bir boolean döndüren bir işlev isimlendirirken, 'is' ile önek yapmak normaldir.Önek mi yoksa boole değerlerine mi ait

  • isPointerNull
  • isShapeSquare

birden çok öğe atıfta ne zaman, olması gerekenler:

  • arePointersNull veya isPointersNull
  • areShapesNull veya isShapesNull

Her ikisi için de argümanlar görüyorum; tutarlılık ve belki biraz daha iyi okunabilirlik sunar, kodu daha doğal bir şekilde okur.

Herhangi bir fikir?

+2

Bu bir fikir sorusu olduğu için bir topluluk vikisi olmalı mı? –

+0

"Ne zaman yapabilirseniz, doğal negatiflerden kaçının lütfen" Bu gerçekten iyi bir nokta, daha önce bu şekilde düşünmemiştim, ama gelecekte bunu hatırlayacağım. Şerefe! – briantyler

+0

* sonradan adlandırılan boolean yöntemlerini unutmayın * bazı eylemler, örneğin 'wasItemNull() '(örneğin, JDBC'de olduğu gibi) için referans değerlerini değiştirebilir. –

cevap

30

İlk olarak, isPointersNull sadece çirkin. Bunu yapma.

Genellikle veya all ile giderim, are belirsiz olabilir. "Boş göstergeler var" veya "işaretçiler boş" anlamına mı geliyor? anyPointersNull ve allPointersNull bunu temizleyin, IMO.

7

Lütfen isPointersNull'u kullanmayın. Tutarlılık, dilbilgisi ve okunabilirlik konusunda fedakârlık yapmak için bir sebep değildir.

+5

+1 - kabul ediyorumPointersNull daha iyidir. Ayrıca PointersAreNull sonra bir If ifadesi netlik daha iyi olurdu. – ChrisBD

+0

Bunun yerine ne kullanmalı? – n611x007

0

IMO - boole değişkeninin içeriğine (kullanım & okunabilirliğine) bağlıdır. Örneğin

:
- değişken boş olan tek bir işaretçi atıfta ise, kullanmak olacaktır: isPointerNull
- Değişken sayıda işaretçiler boş olarak atıfta ise, kullanmak olacaktır:

arePointersNull HTH.

4

Bu dile bağlıdır. Java kullaniyorsaniz, 'isPointersNull' herhangi bir JavaBean isleme aracini kullaniyorsaniz 'arePointersNull' olacak 'pointersNull' alani olarak yorumlanir.

Okunabilirliğin en önemli olduğunu kabul ediyorum ancak fasülye sözleşmeleri nesnelerin ortak ayrışmasına izin veriyor.

+0

iyi koymak chris. Bir yöntem adı bize mantıklı gelmese bile, bir çok araç JavaBean sözdizimi gibi standart kurallara bağlı kalmanızı bekler ve siz başa kaldığınızda kendinizi uçuracaksınız .... sadece sonuçta standartlara uymak için . – tmeisenh

1

isPointersNull bir yazım hatası gibi görünüyor. arePointersNull, bu boole düşüncesinde tek bir nesneden daha fazlasının dahil olduğu gerçeğini güzel bir şekilde iletir. Eğer tutarlılık Ama isterseniz sizin İşaretçiler gerektiğini hangi olmak için bir dizi veya koleksiyon, ilgili olabilir:

  • isPointerArrayNull
  • isPointerCollectionEmpty
  • vb
+0

Birden çok öğe hakkında konuştuğumuzda güzel iletişim kurarken, * birden fazla boş * (ve bazıları boş değil) anlamına gelir, yoksa * birden fazla işaretçi olduğu anlamına gelir ve hepsi boş * –

0

Ben eğer ben şahsen isWhatever ile gitmek ne kadar çirkin olursa olsun, dilbilgisi kurallarına bağlı olmaksızın, bir boole değişkeninin getter metoduna atıfta bulunmaktayım. Ama eğer bir tür iş kuralına dayanan bir nesneyi kontrol eden bir yöntemim olsaydı (bir sayı ya da sayı birer başbakan gibi) İngilizce öğretmenlerimi mutlu edecek isimleri kullanırdım.

İlgili konular