2013-06-02 40 views
-1

方法命名完成後看到的對象作爲我們運行的一些數據,因此getValue意味着我得到值。儘管在方法描述中,我們總是閱讀關於做某事的對象,而不是我們。我們是否將對象視爲對象?

當涉及對象自己的數據時,我們不應該從對象的角度選擇方法名稱嗎?

因此,由於對象給出了其值,所以方法的名稱將是giveValue

雖然「setter」將被命名爲getValue,因爲該對象正在獲取該值。

我的(煩人)問題主要是因爲得到了術語,用於從對象中檢索數據或要求對象從某處檢索數據。

的getValue→「返回值」
的getData→「呼叫另一個對象,並得到一些數據」

+1

我覺得這樣太哲學甚至programmers.stackexchange.com – Rotem

+0

但它仍然是我們誰與代碼,並命名二傳手互動‘GET’對我們來說是令人困惑的。我們必須對代碼感到滿意。 – DaGardner

+3

而你在它,推翻帝制和base10數字系統 –

回答

4

通過自己的邏輯,我會說這叫做Get因爲對象來自其內部的數據得到的值,並將其返回給調用者。這裏有意義的行爲是獲取數據,這取決於屬性,並且不會將其返回給用戶,這是恆定的。

除此之外,命名方法的要點是給他們的名字,使他們非常清楚他們做什麼。命名你的二傳手GetValue對你的用戶來說無異於虐待。

+0

當一個對象有一個從某處獲取數據的方法時,我們將該方法命名爲getData,因爲我們告訴該對象_get_一些數據。 getData→對象獲取。所以意思是「讓我們問這個對象」。 – donkeydown

+0

@ donkeydown:的確如此。 –

2

當涉及對象自己的數據時,我們不應該從對象的角度選擇方法名稱嗎?

不,因爲實質上這個對象只是一個容器,我們用它來存儲/攜帶信息。編程是關於編寫易於使用的代碼&從開發者的角度來看,並不是一個對象。

1

把它想象成與對象的對話:

對象請給我你的價值;對象請設定你的價值。

只有不那麼客氣,因爲這是編程而不是禮儀學校。

+2

我不知道什麼時候我們會看到一種基於禮儀的深奧編程語言。 「看,我真的很討厭再次打擾,但是你會介意用* x *參數執行* Main *方法嗎?「 ** - 運行時異常:您沒有說。** – Rotem

+0

@Rotem:自1972年以來現實已存在:請參見[INTERCAL](http://en.wikipedia.org/wiki/INTERCAL#Details)你必須在代碼中插入一定數量的'PLEASE'關鍵字 –

+0

@AH我有一種感覺,我不是第一個想到它的人:) – Rotem

相關問題