2012-09-19 95 views
0

我對這件事很困惑。在任何教程中,github上的代碼和我見過的BOOL,NSStrings,NDDictionaries等文檔都以小寫開頭。例如。 NSString * aString這是必要的嗎?如果我在創建BOOL等時使用大寫字母,會不會有東西被破壞?我真的很困惑:P任何幫助,非常感謝!爲什麼Objective-C中的所有東西都是由*小寫創建的?

編輯:將使用下劃線然後在首都宣佈變量是一個好主意?

+0

你爲什麼困惑?你有沒有遇到任何問題或困難?你有沒有試過自己的東西? –

+0

我確實嘗試過,雖然控制檯上沒有出現任何錯誤,但我只是想與專家們仔細檢查...... :) – iHackerMe

+0

它更多的是編碼標準的東西。我剛參加了SCJP考試,他們有一整章的編碼標準。它取決於程序員如何在那裏開發代碼,但想想要修改它的人。使用大寫會使閱讀變得更容易,或者使閱讀變得更加困難。我的建議是堅持使用大多數開發人員理解的編碼標準。 – Popeye

回答

5

從評論

它更多的是編碼標準的事情增加。我剛參加了SCJP考試,他們有一整章的編碼標準。它取決於程序員如何在那裏開發代碼,但想想要修改它的人。使用大寫會使閱讀變得更容易,或者使閱讀變得更加困難。我的建議是堅持使用大多數開發人員理解的編碼標準。

同樣在編碼標準下,您通常會使用大寫和變量以小寫開頭來聲明您的類。這是因爲它不會混淆其他開發人員在進行修改時更重要,因此它不會讓您感到困惑。如果你被自己的代碼搞糊塗了,那就不好了。

但標準說,它應該是這樣的:

NSString *nsString; // Not that you should be having a variable like this. But stops the any confusion. 
[nsString uppercaseString]; 

它會開始變得混亂,如果你有這個

// Compile won't actually let you have this just an example of confusion and reserved words. 
NSString *NSString; 
[NSString uppercaseString]; 

在編碼標準,必須有經驗的開發人員知道什麼開始與資本通常是一個類,任何以小寫字母開頭的變量都是變量。這幾乎是所有的編程語言。在研究prolog時,我確實在編碼標準方面出現了一些混亂。

如Sun,蘋果已經有編碼標準here

+0

謝謝!這是我在這個問題上發現的最深入的答案@Popeye – iHackerMe

+0

@iHackerMe沒問題。儘早瞭解好的編碼標準總是很好的,因爲它可以在將來節省大量的時間和困惑。祝你好運,提高你的編程技能。 – Popeye

7

這只是一個樣式問題。沒有什麼會因使用資本而被破壞,除了也許你遵循這種風格的人的聲譽。

+0

所以我可以使用大寫創建東西?謝謝,因爲除了這裏@Wooble,我真的找不到這個問題的任何答案! – iHackerMe

+0

編譯器在很大程度上並不在乎你的變量名稱(這並不是說這是個好主意。) – geoffspear

0

它被稱爲camelback符號。 Ruby傢伙喜歡underscore_notation,iOS camelBack。雖然在我看來,它也使得區分對象(camelBack)和類(大寫)更容易。

+0

感謝您的幫助 – iHackerMe

1

這是一個通用的標準,可以幫助您區分類和變量的類和實例。

不同的語言使用不同的標準,但您應該始終使用您正在使用的語言通用的樣式。

+0

好的,非常感謝@Sulthan! – iHackerMe

0

這只是風格或標準Objective-C。您也可以聲明你的變量這樣的 -

BOOL MyVariable; 

這也將工作,但B/W A類名和變量名,這不是友好的代碼會創建一個混亂。因此,我們使用適當的rule申報變量

2

其可可編碼公約之一。

在Apple網站上有關於Coding Guidelines For Cocoa的文檔。

遵循這些約定很有用。不僅因爲它讓你的代碼更容易被其他可可開發人員讀取,而且因爲現代LLVM編譯器有時會依賴於這些約定,並且你會得到編譯器警告,因爲你會認爲這是誤報,而不是因爲你非常規的代碼。

相關問題