回答
這最終是個人品味的問題。這對編譯器或程序無關緊要。
如果你正在與其他程序員一起工作,重要的是你要遵循他們既定的標準。如果您維護現有代碼的基礎,請遵循源中已建立的樣式。否則,您可以自由決定如何格式化代碼。
個人而言,我更喜歡第二種風格。它讓我更清楚每個變量的類型。此外,如果你在C或C工作++和聲明的指針,它記住,
int* i, j, k;
將只有聲明i
作爲一個指針int
(見this question更多的討論)是很重要的。使用第二種聲明風格使其完全無歧義,這對於長期可維護性來說總是更好。通過將所有變量聲明壓縮到一行來節省的數量對我來說似乎不值得。
+1「長期可維護性」 – Tony
我一直不喜歡在_type_旁邊有星號,而不是_identifier_,因爲您說的確切原因。星號與標識符的關係比類型更接近。但這是恰當的慣例。任何想法爲什麼? –
@ALevy:沒有一個真正的「適當」的約定;這也是個人風格的問題。 C程序員往往更喜歡標識符旁邊的星號,C++程序員往往更喜歡類型旁邊的星號。我認爲這與他們在面向對象編程中的背景有關,其中類型從根本上更重要。指向「int」的指針是一個*完全*不同於'int'的類型。我放棄了爭論哪種風格「更好」,而只是建議所有指針變量都在自己的行上聲明。 –
這是一個品味的問題,是沒有區別的,只要編譯器而言
第一,特別是如果你不使用任何IDE和代碼在可讀性和在聲明變量容易察覺可能有幫助長單文件
您需要定義「更好」。當談到該計劃的效率時,沒有區別。
如果你指的造型,那麼我相信這是最可讀的,方便的,讓每一個變量爲自己的行:
int i; // Holds the value of...
int j; // Iterator for...
int k; // Dummy for function()...
這也爲您提供了不錯的選擇每個描述性評論。當然,這歸結於你的(和Cody所說的)你的團隊的口味和慣例。
取決於您希望保留在代碼中的可讀性,可理解性和全面性。 第一類在可理解性方面表現良好,而第二類在可讀性和全面性方面更好。
也正如@Code Gray所提到的,如果不謹慎使用某些語言的第一種語法,可能會引起混淆。
通常第一種類型總是用在循環中,但在聲明部分中,我更喜歡第二種。
最後,它是你想要採用的選擇和風格。
- 1. c#方法聲明變量
- 2. C++方法變量聲明
- 3. Ruby方法變量聲明
- 4. 是否有更好的方法來聲明一個對象
- 5. 是否有更好的方法來聲明多個參數集?
- 6. 哪一個更快更好?聲明一個新變量還是隻分配給全局變量?
- 7. 哪一個更好,在類中聲明全局變量或在Java類中聲明局部變量?
- 8. 任何更好的方法來聲明變量避免重複的代碼?
- 9. 在java中聲明變量的方法
- 10. JavaScript變量聲明的不同方法
- 11. 聲明類方法中的新變量
- 12. 聲明變量的不同方法?
- 13. Javascript中的變量聲明方法
- 14. 哪個是最好的方法來存儲可變數量的變量?
- 15. 將變量聲明爲'var'是一種好的做法嗎?
- 16. 在局部變量聲明語句中,在塊聲明中,聲明語句的哪個部分是聲明符?
- 17. 區分聲明變量與未聲明的方法
- 18. 聲明變量類型的好處
- 19. 在Spring MVC控制器中聲明變量的最好方法是什麼
- 20. 在Vue.js中聲明全局變量的最好方法是什麼?
- 21. 是malloc比聲明更好?
- 22. 是相同的變量多次聲明一個很好的做法
- 23. c#這是更好的方式來聲明兩個參數
- 24. 的Rails 3.2 - 什麼是模型(型號::變量)聲明的變量的名稱,有沒有更好的做法?
- 25. 我在PHP中聲明瞭哪些靜態方法/變量?
- 26. 在方法參數中聲明變量
- 27. 訪問變量到方法聲明中
- 28. VBScript執行方法不聲明變量
- 29. 使用BEM方法聲明Sass變量
- 30. 這個方法在哪裏聲明?
在這種情況下並不重要,但用您正在使用的語言標記您的問題很好。 – Tony
你還沒有指定的語言。對於C/C++,我建議使用顯式聲明來清除任何錯誤的typedefs/define。在指針方面,我也發現顯式形式更加清晰易懂。 – stefan