2012-12-19 22 views
2

我最近偶然發現了Intellij IDEA中的一個整潔功能,它讓我能夠質疑我的一個實踐。這是字符串自動完成。基本上,如果我在屬性文件中定義一個鍵值對,然後開始在Java代碼中輸入一個字符串作爲屬性文件中的鍵值,則IDEA可以自動完成它。更多,我可以用Ctrl +單擊導航到它並可以重構它!Intellij IDEA字符串處理功能和從屬性文件中收回消息

我在談論的做法與顯示屬性文件中的值有關。我目前正在使用一個枚舉,其類型與屬性文件中的鍵名稱相同。我這樣做是因爲我獲得了類型檢查和重構。但是,似乎我可以通過在IDEA中使用字符串來獲得相同的好處(嗯,它並不真正給我類型檢查,但它有點接近)。

我想知道您是否有人使用簡單的字符串值來檢索郵件。這是一個很好的做法嗎?

回答

1

我不認爲這是一個很好的做法。在開發應用程序時,不應該依賴於您的IDE。如果有人使用例如日食他有機會搞砸了這一切。我喜歡解決方案與枚舉不僅僅是因爲它提供了編譯時間檢查。你甚至可以建立你的枚舉,所以它也讀取屬性文件,並且枚舉中的每個項都包含來自屬性文件的鍵和值。

1

一個折中的辦法是有一個enum屬性,其中枚舉值是屬性字符串。通過這種方式,您可以獲得類型安全性,而IDEA將認識到枚舉值來自屬性並讓您輕鬆導航到它。

+0

是的,我知道有幾個人這樣做。 – sebi

0

它可能更好地使用一個枚舉,並讓你使用intellij工作的每個人,如果他們抱怨告訴他們這個問題(和其他許多人)。

另外值得注意的是,一些字符串值需要編譯時間常量,這使得事情成爲bit more complex