偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C#測(cè)試假設(shè)條件

開(kāi)發(fā) 后端
這里介紹C#測(cè)試假設(shè)條件是構(gòu)建正確的程序最重要的一個(gè)方法。在你寫一個(gè)函數(shù)時(shí),你應(yīng)該考慮并確定你對(duì)那個(gè)函數(shù)做了什么樣的假設(shè)。

C#測(cè)試還是比較常見(jiàn)的東西,這里我們主要介紹C#測(cè)試假設(shè)條件,包括介紹大多數(shù)程序的bugs出現(xiàn)在程序員之間的接口等方面。

NET Framework中包含許多工具可以用來(lái)更快、更容易地編寫正確的程序。但我們得面臨這樣的情況:出現(xiàn)bugs。不管程序多么簡(jiǎn)單,程序員都可能出錯(cuò)。根據(jù)我的經(jīng)驗(yàn),大多數(shù)程序的bugs出現(xiàn)在程序員之間的接口:當(dāng)一個(gè)程序員編寫的代碼被另一個(gè)程序員調(diào)用時(shí)。不知何故,調(diào)用者破壞了代碼編寫時(shí)做的假設(shè)。是誰(shuí)的過(guò)錯(cuò)呢?這并不要緊,更重要的是你能多快修好它?下面這些技巧將幫你在程序投入使用前更快地發(fā)現(xiàn)并解決這些問(wèn)題。最終,技巧會(huì)幫你診斷任何的確在使用中出現(xiàn)的問(wèn)題。

C#測(cè)試假設(shè)條件

C#測(cè)試假設(shè)條件是構(gòu)建正確的程序最重要的一個(gè)方法。在你寫一個(gè)函數(shù)時(shí),你應(yīng)該考慮并確定你對(duì)那個(gè)函數(shù)做了什么樣的假設(shè)。你應(yīng)該問(wèn)自己以下這些問(wèn)題:
1. 當(dāng)這個(gè)函數(shù)被調(diào)用時(shí),這個(gè)對(duì)象必須是怎樣的(對(duì)象初試化,某個(gè)內(nèi)在變量值)?
2. 當(dāng)這個(gè)函數(shù)存在時(shí),這個(gè)對(duì)象將會(huì)怎樣(仍是#1,但包括該函數(shù)的副作用)?
3. 該函數(shù)的任何參數(shù)必須是怎樣的(允許空值嗎,輸入值的范圍是什么)?
4. 返回值必須是怎樣的?

一旦你問(wèn)了自己這四個(gè)問(wèn)題并作出回答后,把答案放到代碼中。在C#中,用System.Diagnostics.Debug類的Assent方法來(lái)表示:

  1. public bool ProcessIterations (int  
  2. numIters)  
  3. {  
  4. Debug.Assert (numIters > 0,  
  5. "ProcessIterations.",  
  6. "Iterations must be more than 0");  
  7. // More code... 

該代碼片段執(zhí)行了numiters參數(shù)必須大于零這樣一個(gè)假設(shè)。如果你用一個(gè)無(wú)效的參數(shù)調(diào)用processiterations,該assert被觸發(fā)。這時(shí)候,程序停止運(yùn)行并通知用戶出現(xiàn)的錯(cuò)誤。聲明(assertions)只被編譯到debug 版本中的程序,所以它們不影響生產(chǎn)情況中的性能。

為什么用這種方法? 運(yùn)用這種技巧可以確保很快地發(fā)現(xiàn)對(duì)你的類的方法未預(yù)料地使用。然后,或者調(diào)用者修改他的代碼,或者要求在你的類的行為(behavior)中修改。

【編輯推薦】

  1. C#編程實(shí)現(xiàn)顯示XML文件
  2. C#語(yǔ)言獲取要顯示頁(yè)面
  3. 創(chuàng)建C# Windows窗體應(yīng)用程序淺析
  4. C#實(shí)現(xiàn)窗體顯示背景知識(shí)
  5. C# Lazy-Allocate設(shè)計(jì)概念
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-08-14 00:30:09

C#條件編譯指令

2009-08-12 14:29:32

C#條件運(yùn)算符

2009-08-18 14:14:45

C#擴(kuò)展方法性能測(cè)試

2009-08-07 13:50:11

C#字符串

2009-09-01 16:35:16

C#單元測(cè)試

2009-08-25 17:15:50

C#隱藏C#重寫C#重載

2009-09-17 15:39:56

C#數(shù)組初始化

2009-09-02 17:10:45

C#語(yǔ)言入門

2009-08-25 17:21:31

C#索引

2009-08-13 17:04:09

C#語(yǔ)言C#程序

2009-08-25 17:59:49

C#入門

2009-08-27 16:11:03

C# delegateC# event

2009-09-01 16:10:28

C#單元測(cè)試

2009-09-01 16:45:00

C#單元測(cè)試工具

2019-03-13 22:40:15

機(jī)器學(xué)習(xí)假設(shè)算法

2009-08-18 10:30:30

C#枚舉

2009-08-26 10:34:15

C#類型C#變量

2009-08-24 11:02:52

C#接口映射

2016-10-13 13:33:41

反射特性c#

2009-08-24 09:55:26

C#接口轉(zhuǎn)換
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)