2011-05-18 94 views
6

在某些語言中,有規則/最佳實踐/等。提升軟件安全性,確保預期的運行時行爲等。想到的兩個是C/C++的MISRA和Ada的Ravenscar配置文件。如果按照這些標準進行標記,通常會對代碼產生溫暖的模糊感。 Java有沒有這樣的標準?是否有與MISRA C相當的Java?

+0

我使用IntelliJ CE幾乎所有的意圖打開。它會在我輸入代碼時檢查我的源代碼(而不是等待編譯代碼),但許多代碼也可以快速修復,所以您更可能更改代碼並更改編寫代碼的方式。有超過650個支票,但我發現大約150個對我來說通常是有用的。有時我使用「修復」爲我編寫代碼;) – 2011-05-19 05:18:47

回答

5

我不認爲有什麼像JavaRA的MISRA C/C++最佳實踐,我認爲這對於像Java這樣的語言來說也不是那麼必要,因爲它沒有很多未定義或未指定行爲的角落像C和C++一樣。諸如Java中缺少顯式指針以及數組索引邊界總是被運行時檢查的事實使Java成爲比C或C++更安全的語言。

大多數Java開發人員似乎都遵循一個通用的編碼標準:Code Conventions for the Java Programming Language,但這是比最佳實踐指南更具風格的指南。

有一個Java的一些良好的和衆所周知的靜態代碼分析工具:FindBugsPMD例如,這將檢查你的代碼可能是危險的結構或不良做法。

如果您想了解Java中潛在的陷阱,那麼強烈推薦兩本書:Effective JavaJava Puzzlers

+0

+1:我在一段時間內看到的問題的最佳答案:) – 2011-05-19 05:15:10

+0

我看了一下你提到的代碼約定,我認爲這就是我去執行一個約定。無論如何,我幾乎都以我的個人風格來關注它。我知道FindBugs和PMD,就像我之前使用過的那樣。我不認爲Java(或類似的)有MISRA,但我想我會問一下確認。 – gmletzkojr 2011-05-19 13:41:07

2

目前,沒有MISRA Java - 也沒有任何立即計劃來創建一個。

MISRA技術委員會曾多次簡要討論這個話題,但由於沒有任何需求(和/或志願者參與其中),這種情況不太可能發生。

[轉貼以個人身份,儘管是MISRA科技董事會成員]

0

有一本書叫「代碼大全」。這是由一位曾在微軟工作過的程序員編寫的,他還具有使用2/3種不同高級語言進行專業軟件開發的知識。除了MISRA C++,我還使用這本書。 「完整代碼」是一門獨立於語言的書籍,有助於塑造您的專業軟件工程實踐。

相關問題