我喜歡我的代碼是正確的,即正確格式化,可讀,設計,測試,檢查錯誤等。事實上,我對此很狂熱。 (Maybe even more than fanatic...)但根據我的經驗,幫助代碼質量的行爲很難實現。 (代碼質量指的是你每天生產的代碼的質量,整個軟件質量與開發過程等問題的範圍更廣,而不是這個問題的範圍。)爲什麼代碼質量不受歡迎?
代碼質量似乎不受歡迎。從我的經驗的一些例子包括
也許每個Java開發人員都知道JUnit中,幾乎所有的語言實現xUnit框架,但我知道所有的公司中,只有極少數的適當的單元測試存在(如果有的話)。我知道,由於技術限制或按期限來編寫單元測試並不總是可能的,但在我看到的情況下,單元測試就是一種選擇。如果開發人員想爲他/她的新代碼編寫一些測試,他/她可以這樣做。我的結論是開發人員不想編寫測試。
靜態代碼分析通常用於小型項目,但並未真正用於強制執行編碼約定或在企業項目中發現可能的錯誤。通常甚至編譯器警告(如潛在的空指針訪問)都被忽略。
會議發言人和雜誌會談論很多關於EJB3.1,OSGI,雲和其他新技術,但幾乎不涉及新的測試技術或工具,新的靜態代碼分析方法(如SAT求解),開發過程幫助保持較高的質量,遺留代碼的一些討厭的野獸是如何被帶到測試中的......(我沒有參加很多會議,對於敏捷主題的會議可能看起來不同,因爲單元測試和CI等都具有較高的價值。 )
那麼爲什麼代碼質量如此不受歡迎/被認爲無聊?
編輯:
感謝你對你的答案。他們中的大多數都涉及單元測試(並已在related question中討論過)。但是還有很多其他的東西可以用來保持代碼質量(參見related question)。即使您無法使用單元測試,您也可以使用每日構建,爲您的IDE或開發過程添加一些靜態代碼分析,嘗試配對編程或強制執行關鍵代碼的審查。
你需要更新你的問題標籤計算器的單元測試,它返回的值是一些標記1太小。有78個問題標有「質量」標籤; o) – 2009-07-02 20:43:45
這是個問題嗎?聽起來像是博客文章和/或咆哮給我 – jalf 2009-07-02 21:07:53
大多數答案都與單元測試有關。爲什麼?還有很多其他的東西可以用來保持代碼質量。 – 2009-07-02 21:27:07