静态分析的教育方面
加入我們項目的新程序員經常會問我們是否具有自動格式化工具,以使Java代碼看起來完全符合Qulice的期望。 (Quili是我們使用的靜態(tài)分析器。)我總是回答說,擁有這樣一個自動代碼拋光器只會有害,不會幫助項目及其成員改進和成長。 這就是為什么我這么認為。
菲利普·諾伊斯(1989)
靜態(tài)分析是我們與只讀master分支結合使用的方式,它是對請求請求的完全自動化的不妥協(xié)的檢查,主要用于發(fā)現代碼格式錯誤。 假設我們希望整個存儲庫中的Java代碼如下所示:
final class Doc {private final File file;public void remove() {if (this.file.exists()) {this.file.delete();}} }但是,您將其重構為更大的任務的一部分,并提交如下的拉取請求:
class Doc {private File f;public void remove(){if (f.exists())f.delete();} }對于你們中的某些人來說,這似乎沒有太大的區(qū)別,因為兩個代碼段都可以毫無問題地編譯,并且工作方式完全相同。 但是,對于我們(存儲庫維護者)而言,這很重要。 我們確實希望我們的類始終是final ,我們確實希望它們是不可變的(因此所有屬性也應該是final ),我們想為此添加所有屬性引用前綴this. ,并且我們希望代碼采用相同的格式,因為我們認為代碼的統(tǒng)一性會大大提高其可維護性。
當然,我們可以創(chuàng)建一個工具,然后您可以使用該工具重新設置代碼的格式,使其看起來像我們想要的樣子。 但是在那種情況下,您將永遠無法了解項目想要您做什么以及為什么要這么做 。
您將不知道我們規(guī)則背后的原因。 您永遠不會考慮它們。 您將不會真正在乎它們。 但是,它們不僅涉及空格和方括號的格式。 Qulice中有900多個 ,其中一些是專門針對我們正在講授的面向對象的哲學而設計的。
因此,簡而言之,我們不希望您輕松進行靜態(tài)分析階段。 我們希望您為了學習而受苦。
翻譯自: https://www.javacodegeeks.com/2018/01/educational-aspect-static-analysis.html
總結
- 上一篇: 教你在电脑上打出罗马数字电脑如何输入罗马
- 下一篇: 办公电脑什么配置合适台式电脑如何选择配置