2011-06-27 82 views
3

大多數Ruby常量遵循C約定擁有全部大寫。使用CamelCase命名Ruby常量的風格很糟糕嗎?

但是它被認爲是使用CamelCase命名Ruby常量的合法風格?我只是覺得用這種方式輸入更容易,因爲我的Caps Lock被重新映射爲CTRL。

+1

這個問題是一個意見問題,就像在公共場合穿衣服是一個意見問題一樣。在這兩種情況下,你都可以打破常規,但你不會有太多公司,你會讓人驚訝。 –

+0

@WayneConrad,除非你不會因使用一致的外套而不是在公共場合穿衣服而被捕。 –

回答

5

根據ruby規範,模塊是常量。它背後有一種哲學,沒有理由應該用不同的方式寫。如果模塊是用駱駝案例編寫的,爲什麼不用其他常量?儘管以大寫字母寫作似乎佔多數,但我確實將它們全寫成駱駝大小寫。另外,使用upcase寫作讓我想起了Basic,Fortran等經典語言,而且看起來並不複雜。

ecologic指出與IDE的兼容性,但如果這會導致問題,那麼這是IDE的錯誤。 IDE應儘可能嚴格遵循語言規範,而不是人們遵循的約定。

+1

「使用upcase寫作讓我想起了Basic,Fortran等經典語言。」 - LOLCODE可能會破壞所有帽子!1! –

+2

爲了那些Ruby新手的好處,類是模塊的子類,它們也使用CamelCase。 –

3

那麼,你應該問你的團隊中的人,並得到一個共同的決定,因爲你不想在同一個項目中有兩個約定。

在我看來,遵循每種語言的適當慣例總是一個好主意。我遵循我不太喜歡的慣例。另外一些IDE可以以不同的方式解釋常量。

+1

對於外部人員來說,一般可讀性會變差,那麼如果您決定爲任何開源項目做出貢獻,您將不得不努力回到常規會議。 – ecoologic

1

不,不認爲使用CamelCase命名「其他」(非類,非模塊)常量的合法風格。

標準Ruby實踐是類和模塊是CamelCase;其他常量是SCREAMING_SNAKE_CASE。

Ruby將允許您將CamelCase用於其他(非類,非模塊)常量,但您會驚奇大家都誰讀你的代碼。代碼的目的不僅僅是與機器通信,而是與任何必須瞭解代碼的人進行交流。出於這個原因,你應該堅持在這種情況下被廣泛接受的標準。

證據

所有風格指南我的a google search for "ruby style guide"這有什麼話要說對此事的支持我的主張SCREAMING_SNAKE_CASE是命名非類,非模塊常數絕大多數標準的第一頁上找到的在Ruby中。少數報價:

使用SCREAMING_SNAKE_CASE其他常數。

使用SCREAMING_SNAKE_CASE其他常數。

常量應該使用所有大寫字符和下劃線,例如被命名爲

BigFatObject::MAX_SIZE 

使用SCREAMING_SNAKE_CASE其他常數。

相關問題