2011-03-04 64 views
0

哪種聲明變量更好?哪個是更好的聲明變量的方法?

1.

int i,j,k; 


2.

int i; 
    int j; 
    int k; 

任何人能解釋這是更好的辦法,爲什麼?

+0

在這種情況下並不重要,但用您正在使用的語言標記您的問題很好。 – Tony

+0

你還沒有指定的語言。對於C/C++,我建議使用顯式聲明來清除任何錯誤的typedefs/define。在指針方面,我也發現顯式形式更加清晰易懂。 – stefan

回答

3

這最終是個人品味的問題。這對編譯器或程序無關緊要。

如果你正在與其他程序員一起工作,重要的是你要遵循他們既定的標準。如果您維護現有代碼的基礎,請遵循源中已建立的樣式。否則,您可以自由決定如何格式化代碼。


個人而言,我更喜歡第二種風格。它讓我更清楚每個變量的類型。此外,如果你在C或C工作++和聲明的指針,它記住,

int* i, j, k; 

只有聲明i作爲一個指針int(見this question更多的討論)是很重要的。使用第二種聲明風格使其完全無歧義,這對於長期可維護性來說總是更好。通過將所有變量聲明壓縮到一行來節省的數量對我來說似乎不值得。

+1

+1「長期可維護性」 – Tony

+0

我一直不喜歡在_type_旁邊有星號,而不是_identifier_,因爲您說的確切原因。星號與標識符的關係比類型更接近。但這是恰當的慣例。任何想法爲什麼? –

+0

@ALevy:沒有一個真正的「適當」的約定;這也是個人風格的問題。 C程序員往往更喜歡標識符旁邊的星號,C++程序員往往更喜歡類型旁邊的星號。我認爲這與他們在面向對象編程中的背景有關,其中類型從根本上更重要。指向「int」的指針是一個*完全*不同於'int'的類型。我放棄了爭論哪種風格「更好」,而只是建議所有指針變量都在自己的行上聲明。 –

1

這是一個品味的問題,是沒有區別的,只要編譯器而言

0

第一,特別是如果你不使用任何IDE和代碼在可讀性和在聲明變量容易察覺可能有幫助長單文件

0

您需要定義「更好」。當談到該計劃的效率時,沒有區別。

如果你指的造型,那麼我相信這是最可讀的,方便的,讓每一個變量爲自己的行:
int i; // Holds the value of...
int j; // Iterator for...
int k; // Dummy for function()...

這也爲您提供了不錯的選擇每個描述性評論。當然,這歸結於你的(和Cody所說的)你的團隊的口味和慣例。

0

取決於您希望保留在代碼中的可讀性,可理解性和全面性。 第一類在可理解性方面表現良好,而第二類在可讀性和全面性方面更好。

也正如@Code Gray所提到的,如果不謹慎使用某些語言的第一種語法,可能會引起混淆。

通常第一種類型總是用在循環中,但在聲明部分中,我更喜歡第二種。

最後,它是你想要採用的選擇和風格。

相關問題