Kodların çok fazla beyanı gördüm Class clazz
, bu nereden geliyor? Bu bir tür konvansiyon mu? Bence 'clazz' İngilizce bir kelime bile değil, hiçbir anlamı yok, bu kadar çok programcı nasıl tesadüfen yanlış bir isim söyleyebilir?
Kodların çok fazla beyanı gördüm Class clazz
, bu nereden geliyor? Bu bir tür konvansiyon mu? Bence 'clazz' İngilizce bir kelime bile değil, hiçbir anlamı yok, bu kadar çok programcı nasıl tesadüfen yanlış bir isim söyleyebilir?
Yanıtlar:
clazz
Java'da JDK 1.0'dan beri ayrılmış "sınıf" sözcüğü yerine kullanılmıştır. "class" istediğiniz şeydir, ancak önemsiz kısaltmak veya eklemek ("a", "the", "_" vb.) netliği azaltır. clazz
sadece ders diyor. "Uluslararası" İngilizce konuşanlar (hem İngiliz hem de Amerikan İngilizcesi okuyanlar) 's' ve 'z' yi aktarmada kullanılır.
Java, en başından beri kaynağı ve uygun bir kültürü açıkladığından, değerli Java kodu ve öğreticiler aynı kuralları alırlar. Bu, Java ekosistemiyle ilgili, başarısının önemli bir parçası olduğunu düşündüğüm harika şeylerden biri.
Foo
sınıf kapsamda ve tanımlanmış foo
yerel değişken kapsamda yasal olmalı, ancak yerel kapsamında sınıf kapsamlı değişkene yapılan bütün atıflar talep etmelidir this.Foo
. Böyle bir kural ...
someThing
bazı yerlerde bir tanımlayıcının yazılmasına izin vermek için gerçek bir neden yoktur ve sOmEtHiNg
diğerlerinde.
fnord
ve çağrılan bir alandan uzaklaşırsınız fnord
. Bunun karşı bir örnek olarak yeterli olacağını düşünüyorum.
Çünkü kullanmak istedikleri kelimeyi kullanamıyorlar class
. Saklıdır.
Çünkü 'sınıf' ayrılmış bir anahtar kelime olduğundan Class class
, buna izin verilmiyor. Bu nedenle göreceksiniz Class clazz
veyaClass cls
.
Class
çünkü herhangi bir projede o kadar çok sınıf var ki bir sınıfı çağırmak sınıfı anlamsız görünüyor. Ayrıca bir DEĞİŞKEN aramak için bir neden düşünemiyorum class
...
ClassInformation
, ya da ClassMetadata
ya da benzer bir şey. Her sınıf bir sınıftır, ancak hepsini Class
adlandırmazsınız, ana işlevleriyle adlandırırsınız.
Gerçek derleyiciye ve bir tokenin bağlamında ne anlama geldiğini ayırt etme yeteneğine gelir. Bununla birlikte, bu özel durumda, derleyicinin jetonun farklı bir bağlamda ne anlama geldiğini ayırt edememesidirclass
. class
Bağlamına bakılmaksızın, bir sınıfın beyanını belirtmek için kullanılması zor ve hızlı bir kuraldır ve bu nedenle ayrılmış bir kelimedir. Bu, elde ettiği kadar basit ve düşük seviyelidir.
Zorunlu hissediyorsanız, class
değişken adı olarak kullanmanıza izin verecek bağlamsal bir kural eklemek için kendi Java derleyicinizi yazabilirsiniz . Ben sadece kullanmak için zaman çok daha iyi olacağını düşünüyorum rağmen - clazz
ya klass
da muhtemelen sağlığınız için iyi olurdu.
Java, bir anahtar kelimeyi @
önekiyle C # 'dan farklı olarak tanımlayıcı olarak kullanmanıza izin veren bir özelliğe sahip değildir (örn @class
. Geçerli bir tanımlayıcıdır.)
class
ve $class
her ikisi de JVM'de geçerli (ancak farklı) tanımlayıcılardır. "class"
VM'de çevrilen bir Java kaynak dosyasına yazabileceğiniz hiçbir tanımlayıcı yoktur .
Beyanname Class clazz
Java dünyasında popülerdir, ancak yeni gelenler ve yazım denetleyicileri için garip olabilir. Bazı insanların en az şaşkınlık ilkesine göre kaçınılması gerektiğini söylediğini duydum .
Bir Class
nesnenin bir türü temsil ettiğini söylemek mümkün olduğundan , ben şahsen böyle değişkenleri bildirmeyi tercih ederim Class type
.
Basitçe söylemek gerekirse, olmayan bir class
sınıfa sahiptir clazz
.