999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

容錯機制在軟件開發中的應用

2021-12-17 01:46:42宗漢文果金
科技信息·學術版 2021年1期
關鍵詞:程序機制效率

宗漢文 果金

隨著信息產業化的到來,越來越多的企業和個人參與到了軟件開發中來,隨著開發的不斷升級,控件的使用和美化程度也越來越高。但程序的愈發復雜多樣,隨之而來的是系統的效率和系統的容錯能力的下降,往往由于不重視系統容錯,不重視垃圾回收,會導致在項目中出現很多意想不到的問題,經常導致客戶體驗不好,系統意外崩潰的情況出現,可見軟件的容錯機制在系統中發揮著很重要的作用。

本人從事過很多項目的開發,曾經使用過VB語言,C++語言和C#語言,現如今C#語言的應用范圍現在越來越寬廣,但是其效率和對于跨平臺方面的硬傷也為人詬病。我本人在經歷的幾個C#項目中,總結了一些程序容錯方面的心得,故本文是針對C#語言的相關容錯機制進行簡要的論述和比較。希望讀者能在其中獲得自己想要的東西。

(1)C#容錯機制一:TRY-CATCH語句。

TRY-CATCH語句。確切的說是TRY-CATCH-FINALLY。不僅是在C#中,在JAVA,C++(最新版)中均有涉及,其語句的邏輯關系為:

Try

{

A;

}

Catch

{

B;

}

Finally

{

C;

}

熟悉C#語言的同學應該都知道,程序的執行順序應為先進入Try執行A,在執行A遇到錯誤時執行Catch內的B,最后執行Finally里的C。這就是C#代碼中比較基本的一個容錯機制。當循環執行某些程序時,可能會遇到由于數據的異常或者內存的溢出導致的問題,當不使用try-catch語句時,會導致系統的崩潰而退出,但是這不是我們想要的結果。所以在循環中使用try-catch后,系統將錯誤信息捕獲,但不影響下一條數據繼續執行,循環將繼續進行。在catch代碼中可以將錯誤發生的時間,發生的位置,發生的原因記錄下來,以為后期進行修改。而Finally中的代碼是永遠執行的。

當然TRY-CATCH也有缺點或者說是弱點,如果大量的使用,會造成系統的效率下降,速度變慢。大量的使用TRY-CATCH語句會使得程序占用大量的虛擬內存,所以適當的使用TRY-CATCH語句不僅會提升你的代碼容錯率,也會增加客戶好感度。

(2)C#容錯機制二:合理的軟件事務。

事務處理不僅是C#語言,其他語言也涉及事務處理。現在系統多采用的是多核CPU的服務器提升了處理器和計算機系統的性能。事務處理的增多也是為了減少由于程序開發中的多表操作而造成的信息丟失或者程序死鎖的問題。

事務處理的實質就是將多條SQL語句封裝,并用Begin開頭,End結尾,進行統一執行,當其中一條發生錯誤時,則事務回滾,之前的語句結果不提交。

由于現在的軟件系統越發復雜,越來越多的軟件系統涉及了多表操作,事務處理愈發重要,但是當使用事務處理時,效率也是要考量的一個重要因素,不當的事務處理會導致數據內存被大量的占用而造成系統繁忙的出現。所以在處理事務尤其是大規模事務時,SQL語句的編寫也是非常重要,處理事務時SQL語句盡量采用參數化編寫方式,這樣會減少數據庫對SQL語句的解析時間,降低系統崩潰的概率。

(3)C#容錯機制三:適度的垃圾回收。

系統又卡住了,怎么辦?

這是C#的WINFORM工程師經常遇到的問題,尤其在用戶和界面以及數據庫進行頻繁的數據交互的時候。但是C#語言本身就有垃圾回收機制啊,為什么還會那么慢呢?這時候往往的處理方式是增加GC,進行手動的垃圾回收。這樣做開始可能會起到一些效果,但是當使用的時間長了,WINFORM系統仍然會逐漸的變慢。這是什么原因呢?

這是我們的程序使用了很多C#的回收程序,出發點是好的,但這樣反而導致系統經常性的崩潰,在仔細的走查代碼過后,發現是由于垃圾回收程序使用過多,導致垃圾回收反而超過了程序所占用的內存,才導致的崩潰現象出現。所以在后期的修改后,將垃圾回收統一到一處,變成根據時間和內存占用程度智能回收內存垃圾,系統就逐漸正常了。其根本的思路是讓系統使用內存,而不是讓回收機制占用內存,在系統使用內存達到一定的量,或者達到一定的時間時,在進行內存的釋放,會起到意想不到的效果。

(4)C#容錯機制四:成熟的軟件復用。

軟件復用是在應用系統開發中利用已有的開發成果,消除了包括分析、設計、編碼、測試等在內的許多重復勞動,從而提高了軟件開發的效率;同時,通過復用高質量的已有開發成果,避免了重新開發可能引入的錯誤,從而提高了軟件的質量。

C#中主要采用引用DLL文件的方法做引用,實現成型的代碼復用。同一開發團隊的開發過程中,也可以利用同事寫好的底層代碼來提升自己的編寫效率。

復用看似是一種減少代碼量,提高寫作效率的方式,其實也是極大的避免了代碼錯誤。如果系統中大量的采用封裝的成型代碼,會使得系統的編寫過程快捷靈活。并且這些特定的代碼由特定人進行編寫,更分工明確清楚。極大的提升了系統的健壯性。使得后期維護和管理更加的方便,快捷,能迅速的反應,并定位到人。

以上四點就是本人經過大量的項目試驗和總結,對于C#或者說軟件容錯機制的理解,可能很多理解還有不到位的地方,那就需要更多的經驗的積累和提高,未來隨著C#的開源之路的進行,.NET平臺也會走上跨平臺的道路,未來會有想LINUX、安卓、IOS等其他的系統平臺使用.NET平臺,其相關的容錯機制會變化的越來越多,但是其核心內容仍然是使編程語言效率提升。未來的編程語言也將向著更加簡單化,封裝化,低耦合化的方向迅速的發展。

猜你喜歡
程序機制效率
提升朗讀教學效率的幾點思考
甘肅教育(2020年14期)2020-09-11 07:57:42
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
跟蹤導練(一)2
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
“錢”、“事”脫節效率低
中國衛生(2014年11期)2014-11-12 13:11:32
主站蜘蛛池模板: 在线五月婷婷| 亚洲中文字幕久久无码精品A| swag国产精品| 亚洲视频欧美不卡| 国内精品久久久久久久久久影视| 18禁色诱爆乳网站| 国产日韩欧美在线视频免费观看| a级毛片毛片免费观看久潮| 欧美一级爱操视频| 少妇人妻无码首页| 亚洲欧美日本国产专区一区| 国产真实自在自线免费精品| 中文字幕欧美日韩| 毛片免费视频| 中文字幕欧美日韩| 91色在线观看| 毛片免费观看视频| 国产毛片网站| 亚洲精品在线影院| 欧洲极品无码一区二区三区| 99久久精品国产精品亚洲| 国产高清无码麻豆精品| 欧美午夜一区| 亚洲男人天堂久久| 亚洲最黄视频| 午夜日b视频| 欧美在线伊人| 国产亚洲欧美日本一二三本道| 色丁丁毛片在线观看| 欧美精品v欧洲精品| 国产精品页| 伊人91视频| 97青青青国产在线播放| 手机看片1024久久精品你懂的| 免费国产无遮挡又黄又爽| 无码乱人伦一区二区亚洲一| 日韩av在线直播| 国产剧情一区二区| 免费在线色| 98精品全国免费观看视频| 免费无码一区二区| 91网红精品在线观看| 狠狠v日韩v欧美v| 99国产在线视频| 国产免费a级片| 色欲不卡无码一区二区| 亚洲国产午夜精华无码福利| 1024国产在线| 亚洲综合在线网| 免费在线看黄网址| 麻豆国产原创视频在线播放 | a级毛片免费网站| 国产亚洲视频免费播放| 欧美日韩一区二区三区四区在线观看 | 老司国产精品视频91| 91久久偷偷做嫩草影院电| 九一九色国产| 亚洲天堂日韩在线| 国产成人精品一区二区三区| 深爱婷婷激情网| 国产精品网址在线观看你懂的| 亚洲国产黄色| 日本一本在线视频| 人妻无码AⅤ中文字| 欧美成人在线免费| 免费又黄又爽又猛大片午夜| 国产成人三级在线观看视频| 91福利在线观看视频| 久久国产精品电影| 亚洲二三区| 久久国产精品无码hdav| 亚洲AV无码一二区三区在线播放| 亚国产欧美在线人成| 美女视频黄又黄又免费高清| 视频二区欧美| a国产精品| 丝袜高跟美脚国产1区| 国产永久无码观看在线| 欧美色综合网站| 国产经典在线观看一区| 日韩高清无码免费| 一本大道香蕉久中文在线播放 |