亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        容錯(cuò)機(jī)制在軟件開發(fā)中的應(yīng)用

        2021-12-17 01:46:42宗漢文果金
        科技信息·學(xué)術(shù)版 2021年1期
        關(guān)鍵詞:程序機(jī)制效率

        宗漢文 果金

        隨著信息產(chǎn)業(yè)化的到來,越來越多的企業(yè)和個(gè)人參與到了軟件開發(fā)中來,隨著開發(fā)的不斷升級(jí),控件的使用和美化程度也越來越高。但程序的愈發(fā)復(fù)雜多樣,隨之而來的是系統(tǒng)的效率和系統(tǒng)的容錯(cuò)能力的下降,往往由于不重視系統(tǒng)容錯(cuò),不重視垃圾回收,會(huì)導(dǎo)致在項(xiàng)目中出現(xiàn)很多意想不到的問題,經(jīng)常導(dǎo)致客戶體驗(yàn)不好,系統(tǒng)意外崩潰的情況出現(xiàn),可見軟件的容錯(cuò)機(jī)制在系統(tǒng)中發(fā)揮著很重要的作用。

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

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

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

        Try

        {

        A;

        }

        Catch

        {

        B;

        }

        Finally

        {

        C;

        }

        熟悉C#語言的同學(xué)應(yīng)該都知道,程序的執(zhí)行順序應(yīng)為先進(jìn)入Try執(zhí)行A,在執(zhí)行A遇到錯(cuò)誤時(shí)執(zhí)行Catch內(nèi)的B,最后執(zhí)行Finally里的C。這就是C#代碼中比較基本的一個(gè)容錯(cuò)機(jī)制。當(dāng)循環(huán)執(zhí)行某些程序時(shí),可能會(huì)遇到由于數(shù)據(jù)的異?;蛘邇?nèi)存的溢出導(dǎo)致的問題,當(dāng)不使用try-catch語句時(shí),會(huì)導(dǎo)致系統(tǒng)的崩潰而退出,但是這不是我們想要的結(jié)果。所以在循環(huán)中使用try-catch后,系統(tǒng)將錯(cuò)誤信息捕獲,但不影響下一條數(shù)據(jù)繼續(xù)執(zhí)行,循環(huán)將繼續(xù)進(jìn)行。在catch代碼中可以將錯(cuò)誤發(fā)生的時(shí)間,發(fā)生的位置,發(fā)生的原因記錄下來,以為后期進(jìn)行修改。而Finally中的代碼是永遠(yuǎn)執(zhí)行的。

        當(dāng)然TRY-CATCH也有缺點(diǎn)或者說是弱點(diǎn),如果大量的使用,會(huì)造成系統(tǒng)的效率下降,速度變慢。大量的使用TRY-CATCH語句會(huì)使得程序占用大量的虛擬內(nèi)存,所以適當(dāng)?shù)氖褂肨RY-CATCH語句不僅會(huì)提升你的代碼容錯(cuò)率,也會(huì)增加客戶好感度。

        (2)C#容錯(cuò)機(jī)制二:合理的軟件事務(wù)。

        事務(wù)處理不僅是C#語言,其他語言也涉及事務(wù)處理?,F(xiàn)在系統(tǒng)多采用的是多核CPU的服務(wù)器提升了處理器和計(jì)算機(jī)系統(tǒng)的性能。事務(wù)處理的增多也是為了減少由于程序開發(fā)中的多表操作而造成的信息丟失或者程序死鎖的問題。

        事務(wù)處理的實(shí)質(zhì)就是將多條SQL語句封裝,并用Begin開頭,End結(jié)尾,進(jìn)行統(tǒng)一執(zhí)行,當(dāng)其中一條發(fā)生錯(cuò)誤時(shí),則事務(wù)回滾,之前的語句結(jié)果不提交。

        由于現(xiàn)在的軟件系統(tǒng)越發(fā)復(fù)雜,越來越多的軟件系統(tǒng)涉及了多表操作,事務(wù)處理愈發(fā)重要,但是當(dāng)使用事務(wù)處理時(shí),效率也是要考量的一個(gè)重要因素,不當(dāng)?shù)氖聞?wù)處理會(huì)導(dǎo)致數(shù)據(jù)內(nèi)存被大量的占用而造成系統(tǒng)繁忙的出現(xiàn)。所以在處理事務(wù)尤其是大規(guī)模事務(wù)時(shí),SQL語句的編寫也是非常重要,處理事務(wù)時(shí)SQL語句盡量采用參數(shù)化編寫方式,這樣會(huì)減少數(shù)據(jù)庫對(duì)SQL語句的解析時(shí)間,降低系統(tǒng)崩潰的概率。

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

        系統(tǒng)又卡住了,怎么辦?

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

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

        (4)C#容錯(cuò)機(jī)制四:成熟的軟件復(fù)用。

        軟件復(fù)用是在應(yīng)用系統(tǒng)開發(fā)中利用已有的開發(fā)成果,消除了包括分析、設(shè)計(jì)、編碼、測(cè)試等在內(nèi)的許多重復(fù)勞動(dòng),從而提高了軟件開發(fā)的效率;同時(shí),通過復(fù)用高質(zhì)量的已有開發(fā)成果,避免了重新開發(fā)可能引入的錯(cuò)誤,從而提高了軟件的質(zhì)量。

        C#中主要采用引用DLL文件的方法做引用,實(shí)現(xiàn)成型的代碼復(fù)用。同一開發(fā)團(tuán)隊(duì)的開發(fā)過程中,也可以利用同事寫好的底層代碼來提升自己的編寫效率。

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

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

        猜你喜歡
        程序機(jī)制效率
        提升朗讀教學(xué)效率的幾點(diǎn)思考
        甘肅教育(2020年14期)2020-09-11 07:57:42
        試論我國未決羈押程序的立法完善
        自制力是一種很好的篩選機(jī)制
        文苑(2018年21期)2018-11-09 01:23:06
        “程序猿”的生活什么樣
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        破除舊機(jī)制要分步推進(jìn)
        跟蹤導(dǎo)練(一)2
        注重機(jī)制的相互配合
        “錢”、“事”脫節(jié)效率低
        欧美成人免费全部| 丰满人妻被公侵犯的视频| 五月开心六月开心婷婷网| 美女张开腿黄网站免费| 18分钟处破好疼哭视频在线观看| 提供最新的在線欧美综合一区| 国产成人精品视频网站| 亚洲精品国产av成拍| 亚无码乱人伦一区二区| 亚洲综合无码无在线观看| 久久福利资源国产精品999| 男女午夜视频一区二区三区| 亚洲国产精品高清在线| 亚洲av无码成人网站在线观看 | 白白发在线视频免费观看2| 国产精品无码aⅴ嫩草| 又污又黄又无遮挡的网站| 2021久久精品国产99国产| 女主播国产专区在线观看| 无码熟妇人妻av在线影片最多| 丰满少妇在线观看网站| 国产成人精品无码一区二区老年人 | 男女羞羞的视频免费网站| 国产av一级黄一区二区三区| 少妇无码av无码一区| 亚洲国产精品久久久天堂不卡海量| 92自拍视频爽啪在线观看| 四虎成人精品在永久免费| 性久久久久久久| 国产成人精品日本亚洲直播| 久久国产精品美女厕所尿尿av| 国内精品久久久久影院薰衣草| 欧美老妇人与禽交| 午夜一区二区三区av| 精品国产成人av久久| 男女车车的车车网站w98免费| 亚洲国产成人手机在线电影| 隔壁的日本人妻bd高清中字| 久久久久无码国产精品一区| 狠狠躁夜夜躁人人爽超碰97香蕉| 国产人成在线免费视频|