1. 結合工程實踐選題相關的一套源代碼,根據其編程語言或項目特色,分析其在源代碼目錄結構、文件名/類名/函數名/變量名等命名、接口定義規範和單元測試組織形式等方面的作法和特色。python
個人工程實踐題目爲:基於語音識別的智能聊天機器人設計,先從github上下載了一個能夠使用本身語料進行訓練的中文聊天機器人源碼進行分析。git
目錄結構比較清晰:github
1)data文件夾存放訓練的語料庫。編程
2)data_utls.py 數據預處理器app
3)prepareData.py 數據處理器,包括:建立字典、句子轉向量、根據超參定製化訓練數據、基礎數據標記、初始化詞典機器學習
4)execute.py 執行器,包括:獲取配置參數和超參、讀取數據、建立模型、訓練模型、模式測試、初始化會話、在線對話編程語言
5)seq2seq_model.py 深度機器學習模型,包括:程序初始化、loss函數、seq2seq函數、擬合模型、獲取批量數據函數
6)app.py可視化展現模塊,單元測試
1)文件名學習
採用小駝峯命名法:第一個單詞的首字母小寫,第二個單詞開始每一個單詞的的首字母大寫,如prepareData.py
2)函數名
採用Snake Case命名法,複合的單詞中間用_分隔。複合的每個詞的首字母一般都是小寫,第一個詞的首字母能夠是小寫也能夠是大寫。
3)類名
採用大駝峯命名法,每一個單詞的首字母都大寫。
2. 列舉哪些作法符合代碼代碼規範和風格的通常要求。
代碼的層次結構很清晰,一目瞭然,註釋的數量恰到好處,文件的組織合理
3. 列舉哪些作法有悖於「代碼的簡潔、清晰、無歧義」的基本原則,及如何進一步優化改進。
代碼中少部分地方的縮進不是很嚴格,縮進的單位不相同,若能統一更好。
4. 總結同類編程語言或項目在代碼規範和風格的通常要求。
對python語言來講:
更加具體的代碼規範可參考:https://www.python.org/dev/peps/pep-0008/