有人告訴我多次到永遠做這樣的事情:變量名稱與對象的類型相同嗎?
Dog dog = new Dog();
Entry entry = new Entry();
//etc...
通知的Type
/Object
名稱是如何Dog
和variable
名字是dog
。是否真的被認爲是不好的編程做這樣的事情,還是隻是皺眉了?這是如何導致閱讀你的程序的另一個人有不好的可讀性?
感謝您的澄清。
有人告訴我多次到永遠做這樣的事情:變量名稱與對象的類型相同嗎?
Dog dog = new Dog();
Entry entry = new Entry();
//etc...
通知的Type
/Object
名稱是如何Dog
和variable
名字是dog
。是否真的被認爲是不好的編程做這樣的事情,還是隻是皺眉了?這是如何導致閱讀你的程序的另一個人有不好的可讀性?
感謝您的澄清。
本身並不是一個壞主意,但它確實取決於對象的含義。我會讓它用一個例子明確:
class Engine {
}
class Car {
private Engine engine;
}
你可以在這裏看到的命名實例變量engine
沒有做什麼不好的可讀性。一個Car
有一個engine
,在這種情況下,類和實例變量的名稱不會產生任何問題。
但考慮另一個例子:
class Point {
}
class Circle {
private Point point;
}
在這裏你可以看到爲什麼它是不是在所有情況下是個好主意。 A Circle
有一個Point
,稱爲point
。好,但這是什麼意思?稱它爲point
對讀者來說沒有提供信息。也許center
會更合適。
通常,一個類名代表了該類型所有可能對象的集羣。這意味着它的名字通常是通用的。這意味着一般情況下,具有相同名稱的實例變量應該沒有足夠的信息量,當然,在某些情況下,需要了解的所有內容都可以從上下文中推導出來(請參閱Car
示例),但您應該真的考慮具體情況。
謝謝,這完全清除了我的東西。 – Tdorno
給它賦予一個變量,一個類型的名稱是沒有錯的。
Dog dog = new Dog();
Entry entry = new Entry()
都是完全合理的。這兩個例子都符合Java的命名建議,例如駱駝大小寫變量名稱,類別以可信信件開頭,等等...
尖叫大聲讀出來 狗狗=新的狗。
現在是否有意義不能做...
我看不出有什麼不好呢,這不,它不是基於意見基於觀點的問題 –
... –
通常你可以有一個變量的更好的名字來表示在這裏的特定意圖。像'dogToDraw'或'userEntry'或'receivedAccount'。我不會說你應該「永遠不要」做這樣的事情。 – BartoszKP