說實話,我不認為一個連書寫都不規范的程序員是個好程序員。www.emoneybtc.comMQL4跟C語言規范一致,所以下文具備很高的參考價值。
從書寫清晰,便於閱讀,理解,維護的角度出發,在書寫程序時應遵循以下規則:
1.一個說明或一個語句占一行。
2.用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨占一行。
3.低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。
在編程時應力求遵循這些規則,以養成良好的編程風格。下面給初學者分享一份軟件工程中的編程規范【部分】。
1. 基本要求
1.1 程序結構清析,簡單易懂,單個函數的程序行數不得超過100行。
1.2 打算干什麼,要簡單,直接了當,代碼精簡,避免垃圾程序。
1.3 盡量使用標准庫函數和公共函數。
1.4 不要隨意定義全局變量,盡量使用局部變量。
1.5 使用括號以避免二義性。
2.可讀性要求
2.1 可讀性第一,效率第二。
2.2 保持注釋與代碼完全一致。
2.3 每個源程序文件,都有文件頭說明,說明規格見規范。
2.4 每個函數,都有函數頭說明,說明規格見規范。
2.5 主要變量(結構、聯合、類或對象)定義或引用時,注釋能反映其含義。
2.7 常量定義(DEFINE)有相應說明。
2.8 處理過程的每個階段都有相關注釋說明。
2.9 在典型算法前都有注釋。
2.10 利用縮進來顯示程序的邏輯結構,縮進量一致並以Tab鍵為單位,定義Tab為 6個字節。
2.11 循環、分支層次不要超過五層。
2.12 注釋可以與語句在同一行,也可以在上行。
2.13 空行和空白字符也是一種特殊注釋。
2.14 一目了然的語句不加注釋。
2.15 注釋的作用范圍可以為:定義、引用、條件分支以及一段代碼。
2.16 注釋行數(不包括程序頭和函數頭說明部份)應占總行數的 1/5 到 1/3 。
3. 結構化要求
3.1 禁止出現兩條等價的支路。
3.2 禁止GOTO語句。
3.3 用 IF 語句來強調只執行兩組語句中的一組。禁止 ELSE GOTO 和 ELSE RETURN。
3.4 用 CASE 實現多路分支。
3.5 避免從循環引出多個出口。
3.6 函數只有一個出口。
3.7 不使用條件賦值語句。
3.8 避免不必要的分支。
3.9 不要輕易用條件分支去替換邏輯表達式。
4. 正確性與容錯性要求
4.1 程序首先是正確,其次是優美
4.2 無法證明你的程序沒有錯誤,因此在編寫完一段程序後,應先回頭檢查。
4.3 改一個錯誤時可能產生新的錯誤,因此在修改前首先考慮對其它程序的影響。
4.4 所有變量在調用前必須被初始化。
4.5 對所有的用戶輸入,必須進行合法性檢查。
4.6 不要比較浮點數的相等,如: 10.0 * 0.1 == 1.0 , 不可靠
4.7 程序與環境或狀態發生關系時,必須主動去處理發生的意外事件,如文件能否邏輯鎖定、打印機是否聯機等。
4.8 單元測試也是編程的一部份,提交聯調測試的程序必須通過單元測試。
5. 可重用性要求
5.1 重復使用的完成相對獨立功能的算法或代碼應抽象為公共控件或類。
5.2 公共控件或類應考慮OO思想,減少外界聯系,考慮獨立性或封裝性。
5.3 公共控件或類應建立使用模板。
歡迎訪問 外 匯 邦 WWW.WaiHuiBang.com“我們認為,重大疫情之後,人們的生存、生活及生產方式將會發生永久而深刻的變化,數字化轉型已經成為人與企業生存和發展的‘必備之道’。5G、工
4月28日,中國人民銀行營業管理部聯合北京市地方金融監督管理局、北京市市場監督管理局在中信銀行總行營業部舉辦了“北京市動產擔保統一登記系
軟分叉:這種分叉並不會產生兩條鏈,比方兩個APP,共用的同一個開發後台中的數據。因為新規則下產生的區塊會被舊節點接受,所以新舊節點仍然處於
DeFi是英文Decentralized Finance的簡寫,翻譯過來就是去中心化金融,和傳統的中心化金融系統相對。在傳統的金融系統中,
Enigma 是使不同方能夠共同存儲和運行數據計算的P2P網絡,同時完全保護數據隱私。借助安全的多方計算技術,不同方能夠對分布式存儲的數
股市中的熱點其實就是有資金集中流入的個股,而板塊輪動其實就是資金流動而產生的盤面效果。當主流資金向部分板塊和個股中流動時,這些板塊和個股一般
個人信用征信報告記錄了貸款申請記錄、逾期明細、生活欠費等信息,是申請貸款必不可少的資料。現在個人信用在我們生活中扮演著越來越重要的
股票的交易過程,一般可分為四個步驟,這就是開戶、委托、撮合成交和確認。 3.1 開戶 股票中的開戶,就是股民
最佳答案: 1元錢可以保600萬這是真的,但是並不是一年1元也不是每月1元,而是指首月1元錢便可以投
來自中國銀行官網回答:企業可對已申請網銀服務資料進行自助查詢,方便掌握自身網銀服務的前期申請和目前使用情