成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何更好的搭建Visual C++環境

開發 后端
規范Visual C++環境易懂的代碼才是可重復使用的,規范的代碼具有更長的壽命,具有更好的可維護性,也更方便后期的擴展,下面是一些提示。

各種分析和設計Visual C++環境最突出的就是極限編程了,很多方法都受它影響,它最重要的兩條是先寫測試和結對編程。先寫測試能強迫程序員給出完整清晰的類接口,還能在每次建立系統時自動測試。

1.Visual C++環境
適用預處理#define定義一個或多個調試標記,在代碼中把調試部分使用#ifdef 和#endif 進行管理。當程序最終調試完成后,只需要使用#undef標記,調試代碼就會消失。常用的調試標記為DEBUG, 語句序列:

2.運行期間調試標記

   在程序運行期間打開和關閉調試標記。通過設置一個調試bool標記可以實現。這對命令行運行的程序更為方便。

例如下面代碼:

  1. #include<iostream> 
  2.  
  3. #include <string> 
  4.  
  5. using namespace std;  
  6.  
  7. bool debug =false;  
  8.  
  9. int main(int argc,char*argv[])  
  10.  
  11. {  
  12.  
  13.    for(int i=0;i<argc;i++)  
  14.  
  15.       if(string(argv[i])==“--debug=on“)  
  16.  
  17.                 debug = true;  
  18.  
  19.      bool go=true;  
  20.  
  21.    while(go)  
  22.  
  23. {  
  24.  
  25.    if(debug)  
  26.  
  27.     {  
  28.  
  29.     調試代碼  
  30.  
  31.      }else {}  
  32.  
  33. }  
  34.  

3.把變量和表達式轉換成字符串

可是使用字符串運算符來實現轉換輸出定義

#define PR(x) cout<<#x”=”<

4.c語言的assert()

該宏在中,,當使用assert時候,給他個參數,即一個判讀為真的表達式。預處理器產生測試該斷言的代碼,如果斷言不為真,則發出一個錯誤信息告訴斷言是什么以及它失敗一會,程序會終止。

#include< assert>

using namsapce std;

int main()

{

   int i=100;

assert(i!=100); //Fails

}

當調試完畢后在#include前加入#define NDEBUG即可消除紅產生的代碼

}

 

C++代碼和調試

本部分教程主要介紹了良好的Visual C++環境風格、如何書寫安全的代碼以及在Visual C++環境下的程序調試技術,這些內容對于新員工從學生成長為真正的程序員,逐步參與實際項目的開發工作,以及閱讀第三方代碼非常重要。

1 規范易懂的代碼

現階段軟件開發,都要依靠團隊的合作。程序員不再是個人英雄主義的代名詞,程序員一方面要依賴大量其他程序員完成的代碼,一方面又提供大量代碼給其他人使用,代碼實際上具備了兩個要素:首先是可靠的提供某種功能,其次是清楚地表達作者的思想。任何交流都必須有一定的規范才能進行,體現在代碼中就是規范易懂。另外,規范易懂的代碼才是可重復使用的,規范的代碼具有更長的壽命,具有更好的可維護性,也更方便后期的擴展。

1.1 好代碼的幾個特征

怎么樣的代碼才算規范易懂,體現在細節上會有無數的爭論,實際上無論風格和習慣如何,好的代碼具有幾個共同的特征:
1. 良好的命名:好的變量名和函數名,讓閱讀代碼的人馬上就知道該變量或者函數的作用,很容易就能理解程序的大概結構和功能。程序員有必要理解匈牙利命名法。
2. 一致性:一致性帶來更好的程序,一致的代碼縮進風格能夠顯示出代碼的結構,采用何種縮進風格并不重要,實際上,特定的代碼風格遠沒有一致的使用它們重要。
3. 注釋:注釋是幫助程序讀者的一種手段,程序作者也是未來的程序讀者之一。最好的注釋是簡潔地點明程序的突出特征,或是提供一種概觀,幫助別人理解程序;但如果注釋只是說明代碼已經講明的事情,或者與代碼矛盾,或者以精心編排的形式迷惑干擾讀者,那就是幫了倒忙。

1.2 養成好習慣

前面已經提過,特定的代碼風格遠沒有一致的使用他們重要,所以,把過多的精力放到A or B的選擇上是浪費時間,你要做的是堅持。如何書寫規范易懂的代碼,如何養成良好的習慣,下面是一些提示。

1. 按照匈牙利命名法給變量和函數命名。
2. 遵循國際流行的代碼風格。
3. 寫代碼的同時就遵循你的命名規范和書寫風格,千萬不能事后補救。
4. 利用工具(Parasoft C++ Test)檢查你的代碼,評估一下自己形成良好的習慣沒有。
5. 堅持不懈直到養成習慣。

2 編寫安全可靠的代碼

在大型應用軟件系統中,各個代碼片段共同構成完整的系統,Visual C++環境間的交互非常頻繁,程序崩潰往往并不在錯誤發生的時候就發生,而是延遲了一段時間,經過數個函數之間的中轉后才發生,此時定位和查找錯誤非常費時費力,如何才能及時反映程序中的錯誤。

如何在代碼中避免一些幼稚的語義錯誤呢?一個函數往往會被其他程序員拿來使用,但是他怎么能夠正確的使用其他人編寫的函數呢?這部分內容能夠(部分)幫助解決這些問題。

2.1 契約編程
契約編程(Design by Contract)的思想在C++圣經級的著作,C++之父Bjarne Stroustrup的《C++程序設計語言》中略微提到過,OO領域的圣經級著作《面向對象軟件構造》以大篇幅闡釋了契約編程,現在越來越多的軟件開發人員認識到契約編程的重要性,并逐步地在實際工作中采用契約編程。

對契約編程簡單的解釋是:對實現的代碼塊(函數、類)通過規定調用條件(約束)和輸出結果,在功能的實現者和調用者之間定義契約。
具體到我們的工作,開發人員應該對完成的每個函數和類,定義契約。契約編程看似平淡無奇,對程序開發沒有什么具體的幫助,實際上,契約編程在開發階段就能夠最大程度的保證軟件的可靠性和安全性。#t#

在實際工作中,每當你需要使用其他程序員提供的模塊,你并不知道如何調用,也不知道你傳入的參數是否合法,有時候對于功能模塊的處理結果也不敢相信。這些本來應該很明顯的信息因為模塊提供者沒有顯式的提供,

造成了調用者只能忐忑不安的摸著石頭過河,浪費了大量時間,而且為了讓自己的代碼更安全可靠,在代碼中做了大量的判斷和假設,造成代碼結構的破壞和執行效率的損失,最后,調用者依舊不能確保自己的調用是正確的。而契約編程通過嚴格規定函數(或類)的行為,在功能提供者和調用者之間明確了相互的權利和義務,避免了上述情況的發生,保證了代碼質量和軟件質量。

Visual C++環境主動調試
主動調試指在寫代碼的時候,通過加入適量的調試代碼,幫助我們在軟件錯誤發生的時候迅速彈出消息框,告知開發人員錯誤發生地點,并中止程序。這些調試代碼只在Debug版中有效,當經過充分測試,發布Release版程序的時候,這些調試代碼自動失效。

主動調試和契約編程相輔相成,共同保證軟件開發的質量。契約編程相當于經濟生活中簽訂的各種合同,而主動調試相當于某方不遵守合同時采取的法律懲罰措施。
各種開發語言和開發工具都提供這些調試語句,標準C++提供了assert函數,MFC提供了ASSERT調試宏幫助我們進行主動調試,在實際工作中,建議統一使用MFC的ASSERT調試宏。

責任編輯:chenqingxiang 來源: cnbeta
相關推薦

2010-01-13 10:45:44

Visual C++

2010-01-15 16:25:48

學習C++

2010-01-15 19:28:59

C++

2010-01-19 14:54:58

Visual C++

2010-01-15 16:17:04

Carbide C++

2010-01-13 18:44:03

C++編譯

2010-01-15 18:06:20

C++引用

2010-01-28 15:31:34

學習C++語言

2010-01-18 15:19:41

Visual C++開

2010-01-22 13:20:27

C++代碼

2010-01-25 14:43:00

C++構造函數

2010-01-08 15:45:04

設置Dev C++

2010-01-22 18:06:24

C++代碼

2010-01-12 18:00:30

Visual C++

2009-06-05 14:54:09

EclipseC++環境搭建

2021-06-02 08:13:28

VscodeVisual stduC++

2010-01-12 15:13:37

Visual C++環

2010-01-14 16:54:02

C++開發環境

2010-01-11 14:05:01

C++學習方法

2010-01-26 10:01:17

學習C++
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区视频免费观看 | 日本网站免费观看 | 在线观看国产wwwa级羞羞视频 | 婷婷福利视频导航 | 欧美a级成人淫片免费看 | 欧美一级免费看 | 亚洲精品久久嫩草网站秘色 | 亚洲网站在线观看 | 亚洲第一天堂 | www日本在线播放 | 亚洲三区在线观看 | 久久亚洲国产精品 | 欧美日韩视频在线第一区 | 色婷婷久久久亚洲一区二区三区 | 欧美午夜精品 | 国产农村一级国产农村 | 日日夜夜91 | 黄色片在线免费看 | 精品欧美一区二区三区久久久 | 欧美天天视频 | 国产小视频在线观看 | 先锋资源在线 | 久久大全 | 国产一区二区久久 | 免费xxxx大片国产在线 | 欧美第一区 | 午夜性视频| 中文在线一区二区 | 91影院 | 欧美男人的天堂 | 美女视频h| 青春草91 | 99亚洲精品| 一区中文字幕 | 免费午夜电影 | 国产激情一区二区三区 | 国产高潮av | 久久狼人天堂 | 成人福利在线观看 | 国产欧美一区二区三区在线播放 | 黑人巨大精品欧美一区二区免费 |