溫度控制的PID算法的C語言程序


 

 

 

結合工程實踐選題相關的一套源代碼,根據其編程語言或項目特點,分析其在源代碼目錄結構、文件名/類名/函數名/變量名等命名、接口定義規范和單元測試組織形式等方面的做法和特點;

我的工程實踐是《服務器風扇轉速智能控制》主要任務是開發一個應用,根據服務器內的版卡的功耗和溫度,智能的調控服務器的風扇轉速。主要涉及風扇轉速智能控制算法設計,linux系統下的應用開發,服務器風扇控制編成,板卡溫度讀取編成技術。
編程語言是c語言或者匯編語言。
這次我選擇的源代碼是基於pid算法的溫度控制系統。因為是編寫的是底層的函數庫,要求程序速度快,空間小,因此代碼較為簡短,目錄結構比較簡單,只有兩個文件。文件名比較簡單。
由於沒有使用面向對象語言,所以不存在類名。函數名和變量名都是符合c語言變量與函數命名規范。普通變量使用小寫英文單詞,較長單詞使用縮寫,多個單詞用下划線相連。常量使用大寫。函數名英文單詞首字母大寫。變量名和函數名直觀可以拼讀,從名字可以大致知曉變量與函數作用。
接口定義要求簡潔明了,能用傳地址就不傳值。盡量數據耦合減少控制耦合。
單元測試組織形式,由於本程序是由一個函數調用其他函數組織而成,單元測試從最小的每個函數開始測試,從底向上進行測試。

列舉哪些做法符合代碼規范和風格一般要求;

程序中有清晰的注釋

程序頭部有程序整體的說明

每個函數都有注釋和說明函數的功能

代碼中有適當的注釋說明代碼段的功能

標識符命名要盡量能直觀的反映該標識符的功能

標識符都用英文不用漢語拼音

 

 

列舉哪些做法有悖於“代碼的簡潔、清晰、無歧義”的基本原則,及如何進一步優化改進;

在該源碼中縮進並不是很規范

有一部分變量沒有注釋說明其功能

改進:

縮進的寬度為四個字符,使用tab或者四個空格 兩者之一

凡函數 if while for do-while switch 都要使用縮進

 

總結同類編程語言或項目在代碼規范和風格的一般要求。

c類語言或者項目在代碼規范和風格中一般對於以下七個方面有要求:

1) 空行

定義變量或者函數后就要空行,兩個相對獨立的程序塊、變量說明之后必須要加空行。比如前幾行代碼完成的是一個功能,后幾行代碼完成的是另一個功能,那么它們中間就要加空行。這樣看起來更清晰。

2) 空格

關鍵字之后要劉空格,函數名之后不留空格,分號逗號等之后留空格,雙目運算符左右加空格,if for while 等語句可以適當加空格。

3) 成對書寫

成對的符號一定要成對書寫,如 ()、{}。不要寫完左括號然后寫內容最后再補右括號,這樣很容易漏掉右括號,尤其是寫嵌套程序的時候。

4) 縮進

縮進可以使用四個空格或者tab建,縮進可以使程序更有層次感。原則是:如果地位相等,則不需要縮進;如果屬於某一個代碼的內部代碼就需要縮進。

5) 對齊

不同模塊的代碼需要對齊,在同一個花括號內的代碼需要縮進。

 

6) 代碼行

一行代碼只做一件事情,如只定義一個變量,或只寫一條語句。這樣的代碼容易閱讀,並且便於寫注釋。

if、else、for、while、do 等語句自占一行,執行語句不得緊跟其后。此外,非常重要的一點是,不論執行語句有多少行,就算只有一行也要加{},並且遵循對齊的原則,這樣可以防止書寫失誤。

7) 注釋

C語言中一行注釋一般采用//…,多行注釋必須采用/*…*/。注釋通常用於重要的代碼行或段落提示。在一般情況下,源程序有效注釋量必須在 20% 以上。雖然注釋有助於理解代碼,但注意不可過多地使用注釋。

 

以下是源代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM