個人工程實踐選題是《基於情感詞典的文本情感分析》,因此我在github上面下載了一套與其相關的源代碼而且進行了分析。python
- 根據其編程語言或項目特色,分析其在源代碼目錄結構、文件名/類名/函數名/變量名等命名、接口定義規範和單元測試組織形式等方面的作法和特色
- 源代碼目錄結構
該項目使用python語言進行開發的,其源代碼目錄結構爲:git
![](http://static.javashuo.com/static/loading.gif)
由圖可知該項目的目錄結構爲2層,有一個專門的文件夾存放項目所須要的測試數據、訓練數據以及情感詞典。根目錄下有數據處理、提取訓練主題、測試等python文件,還有項目的結果等。github
2. 文件名/類名/函數名/變量名等命名規範編程
文件名、類名、函數名、變量名等命名都遵照python語言的命名規則,而且其意思都很是明確。例如獲取新的情感詞的函數。編程語言
![](http://static.javashuo.com/static/loading.gif)
- 命名要規範,而且要展現對象的功能
- 合理的縮進方式,讓代價簡單整潔
- 合理的組織代碼結構,作到高內聚,低耦合,儘可能不要編寫重複的代碼
- 少用全局變量
- 擁有註釋說明,對於難理解的代碼養成寫註釋的習慣
- 列舉哪些作法有悖於「代碼的簡潔、清晰、無歧義」的基本原則,及如何進一步優化改進
- 命名不規範,例如隨意命名可能會讓一些變量的含義不清晰,影響代碼的理解。因此全部的變量,方法名和類名都應該遵循駱駝命名法
- 代碼重複,這也會嚴重影響代碼的簡潔性,能夠將重複代碼所實現的功能封裝成函數來進行調用。
- 多寫註釋,將函數的功能、變量的含義等用註釋寫出來
- 少使用縮寫,全部類型、方法、參數、變量的命名儘可能不要使用縮寫
- 使用Tab做爲縮進,並設置縮進大小爲4