日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【面向对象设计与构造】第一次博客作业

發(fā)布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【面向对象设计与构造】第一次博客作业 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【面向?qū)ο笤O(shè)計與構(gòu)造】第一次博客作業(yè)


一、程序結(jié)構(gòu)分析

1. 第一次作業(yè)

類圖

由于第一次作業(yè)難度較低,實現(xiàn)起來也不需要很復(fù)雜的算法,因此在編寫程序的時候只建立了兩個類,Main類主要負(fù)責(zé)多項式的讀入以及對于輸入格式的判斷,Poly類則用數(shù)組對多項式進(jìn)行存儲和執(zhí)行整個計算過程,其中Poly類的compute方法執(zhí)行了整個計算過程。

度量分析

Poly類的compute方法的代碼質(zhì)量較低,顯得比較臃腫,從度量分析圖中也可以看出該方法的圈復(fù)雜度過高,容易出錯。由于之前沒有接觸過面向?qū)ο缶幊痰乃季S和方法,所以程序的實現(xiàn)基本是按照面向過程的方法實現(xiàn)的,缺乏可擴(kuò)展性。例如,如果要在多項式加減法的基礎(chǔ)上增加對多項式乘法的支持,那么整個Poly就要推倒重來,基本沒有可繼承的方法和屬性。

2. 第二次作業(yè)

類圖

第二次作業(yè)是實現(xiàn)一個簡單的電梯調(diào)度系統(tǒng)。在編程之前根據(jù)要求對五個類的功能和要實現(xiàn)的方法進(jìn)行了規(guī)劃,請求類(Request)負(fù)責(zé)判斷請求是否有效,然后發(fā)出請求,請求隊列(RequestQueue)通過構(gòu)造一個隊列來管理請求,樓層類(Floor)負(fù)責(zé)發(fā)出樓層請求,電梯類(Elevator)發(fā)出電梯內(nèi)請求,記錄不同時刻電梯所在樓層,調(diào)度類(Schedule)負(fù)責(zé)調(diào)度電梯運行,Main類為主程序入口,統(tǒng)籌全局。由于程序結(jié)構(gòu)的設(shè)計,Floor類實現(xiàn)的功能很少,與其他類的關(guān)聯(lián)程度也較低。

度量分析

這次作業(yè)每個類的代碼都比較簡潔,只有在Request類中負(fù)責(zé)檢查輸入格式是否正確的方法比較寫得復(fù)雜,代碼復(fù)雜度較高,在寫第三次作業(yè)時對這兩個方法進(jìn)行了簡化并合并為一個方法。

3. 第三次作業(yè)

類圖

第三次作業(yè)在第二次作業(yè)的基礎(chǔ)上增加了捎帶功能,核心部分為ALS_Scheduler類對第二次作業(yè)中的Schedule類的繼承。由于調(diào)度策略的不同,子類重寫了父類的work()方法,繼承了檢查同質(zhì)請求的方法checkSameRequest(),并增加了對于可捎帶請求進(jìn)行檢測的方法checkPiggybacking()。另外,Elevator類實現(xiàn)了ElevatorInterface接口中的所有方法,并重載了toString()方法,用于輸出結(jié)果時調(diào)用。

度量分析

由度量分析圖可以看出,Request類中實現(xiàn)格式檢查的方法checkFormat()盡管在第二次作業(yè)的基礎(chǔ)上進(jìn)行了簡化,復(fù)雜度依然較高。另外,由于增加了捎帶請求,不僅要在主請求執(zhí)行時每到一層就要檢測是否有可捎帶請求,在每一條請求執(zhí)行完畢時也要輸出它的所有同質(zhì)請求,主請求執(zhí)行完畢后還要循環(huán)判斷是否有同質(zhì)請求可升級為主請求,所以導(dǎo)致work()方法內(nèi)嵌套過深,這是在今后編程中需要改進(jìn)的地方。

二、程序bug分析

1. 第一次作業(yè)

在第一次作業(yè)中,由于輸入的多項式格式較為復(fù)雜,如果直接利用正則表達(dá)式對輸入進(jìn)行匹配,在輸入數(shù)據(jù)過多時就會導(dǎo)致溢出,因此我采用了先根據(jù)'}'對輸入字符串進(jìn)行分割,然后對每一部分進(jìn)行正則表達(dá)式匹配,但在編寫程序時忽略了多個 '}' 連續(xù)的情況,在最后的測試階段才發(fā)現(xiàn)了這個問題。

2. 第二次作業(yè)

第二次作業(yè)在程序功能方面并未發(fā)現(xiàn)明顯的bug,但是由于對于助教所補(bǔ)充規(guī)定的“必須輸出前100條請求的結(jié)果”這一句話理解不到位,在輸入超過程序指定范圍且未輸入“RUN”時直接結(jié)束程序,因此被互測者找到漏洞,可見我們互測時對于程序各方面的要求都非常嚴(yán)格,不僅要通過所有正常的功能性測試點,更要在一些細(xì)枝末節(jié)的地方下大量的功夫。

3. 第三次作業(yè)

第三次作業(yè)雖然只是在第二次作業(yè)的基礎(chǔ)上增加了“捎帶”功能,但實現(xiàn)起來卻要比第二次作業(yè)復(fù)雜很多。對于可捎帶請求的判斷,在指導(dǎo)書中是按照請求發(fā)出時間作為基準(zhǔn),但這種判斷方式實現(xiàn)時要考慮的因素較多,需要考慮多個可捎帶請求同時執(zhí)行等特殊情況,但如果我們轉(zhuǎn)變思路,在主請求運行的整個過程中,每到一個新的樓層就判斷是否有一條或多條可捎帶的請求需要被執(zhí)行完畢,然后只開關(guān)門一次,這樣實現(xiàn)起來就比較簡潔。但起初在編寫程序時在細(xì)節(jié)方面還是存在一些問題,比如沒有考慮到電梯可能在請求未執(zhí)行完畢時出現(xiàn)空閑情況,且在到達(dá)目標(biāo)樓層時,主請求和捎帶請求沒有嚴(yán)格按照輸入的順序進(jìn)行輸出等,在最后的自我測試階段才發(fā)現(xiàn)并完善了這些問題。

三、bug分析策略

在我測試自己和他人程序的時候主要采取的策略主要有以下幾點:首先是要結(jié)合Readme文檔認(rèn)真讀代碼,分析代碼的結(jié)構(gòu),在此基礎(chǔ)上發(fā)現(xiàn)問題,然后對癥下藥,通過相應(yīng)的測試樣例來進(jìn)行驗證。這種方法雖然需要花費較多的精力,但是可以發(fā)現(xiàn)一些普通測試樣例難以發(fā)現(xiàn)的問題,具有很好的針對性。在測試其他同學(xué)的作業(yè)時,發(fā)現(xiàn)大多數(shù)同學(xué)在程序主要功能的實現(xiàn)上一般不存在問題,比較容易出錯的地方在于對于各種特殊輸入的檢測與處理,正則表達(dá)式的使用等,而這類問題是最適合通過讀代碼來發(fā)現(xiàn)的。其次是編寫自動測試腳本來對程序進(jìn)行全方位的功能性測試,尤其是像第三次作業(yè)那樣可能出現(xiàn)bug的情況較多時,這種方法就顯得十分有效。最后是再次認(rèn)真讀Readme文檔,針對作者在文檔中規(guī)定的各種特殊情況以及相應(yīng)的處理方式在程序中進(jìn)行一一驗證,發(fā)現(xiàn)可能存在的問題。

四、心得體會

通過這三次作業(yè)的練習(xí),我獲得了很多收獲。首先,在面向?qū)ο缶幊痰膶W(xué)習(xí)方面,每次作業(yè)雖然不需要特別復(fù)雜的算法,但對于我們面向?qū)ο缶幊趟季S和編程能力的訓(xùn)練確有很大幫助。通過短短幾周的學(xué)習(xí),我們已經(jīng)能夠用java來實現(xiàn)簡單的面向?qū)ο蟪绦?#xff0c;盡管現(xiàn)在寫出的程序可能存在許多問題,但對于我們今后的學(xué)習(xí)來說無疑具有十分重要的奠基作用。其次,通過每一次的互測,我看到了許多風(fēng)格迥異的代碼。一方面,這些代碼就像一面鏡子,通過讀其他人的代碼,我可以從中學(xué)習(xí)到許多優(yōu)點和長處,同時也能在對比之下發(fā)現(xiàn)自身在編寫代碼時存在許多問題和不良習(xí)慣;另一方面,我也充分認(rèn)識到擁有一個良好的代碼風(fēng)格的重要性,我們今后所寫的代碼注定要由許多其他人來閱讀和維護(hù),所以決不能寫出只有自己才能讀的懂的代碼。最后,我認(rèn)為我們的面向?qū)ο筮@門課程,不僅僅是訓(xùn)練我們的編程能力,更重要的還是要訓(xùn)練我們分析各種需求的能力。盡管每一次的指導(dǎo)書都存在許多不夠明確和完善的地方,但是一味的抱怨解決不了任何問題,如何在指導(dǎo)書的字里行間提煉真正的需求,才是我們每個人應(yīng)該學(xué)習(xí)和提高的地方。

轉(zhuǎn)載于:https://www.cnblogs.com/David-Liu-/p/8717850.html

總結(jié)

以上是生活随笔為你收集整理的【面向对象设计与构造】第一次博客作业的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91娇羞白丝 | 美女的隐私免费看 | www.九九热| a级片国产 | 欧美日韩午夜 | 日本视频一区二区 | 性高跟鞋xxxxhd人妖 | 伊人99re | 国产精品av在线播放 | 国产亚洲精品久久久久四川人 | 欧美 丝袜 自拍 制服 另类 | 精品香蕉视频 | av网站一区二区 | 亚洲国产精品va在线看黑人 | 爱情岛论坛永久入口 | 污污内射在线观看一区二区少妇 | 亚洲怡红院av | 国产精品久久久久久久久久久久久久久 | 国产又色又爽又黄的 | 中文字幕亚洲专区 | 男人激烈吮乳吃奶爽文 | 黄色激情小说视频 | 日韩三级在线 | 9色91| 茄子爱啪啪 | www色日本| 好吊一区二区三区 | 欧美日韩视频一区二区三区 | 国内精品视频 | 国产区91| 日本不卡免费在线 | 麻豆成人免费 | 亚洲精品一级片 | 国产精品v亚洲精品v日韩精品 | 国产一区亚洲一区 | 成人勉费视频 | 99视频在线精品免费观看2 | 国产av成人一区二区三区高清 | 国产视频精品免费 | 亚洲男人的天堂在线观看 | 国产视频69 | 欧美高清性xxxxhdvideosex | 成人爽a毛片一区二区免费 日本高清免费看 | 色婷婷一区二区三区四区 | 国产在线综合网 | 夜夜操夜夜爱 | 亚洲视频免费播放 | 亚洲美女福利 | 黄色日韩 | 熟女少妇一区二区 | 女同hd系列中文字幕 | 日本熟妇人妻xxxxx | 一级做a爰片久久毛片潮喷 天天透天天干 | 国产私密视频 | 射射射综合网 | 91破处视频 | 亚洲国产中文在线 | 看黄色一级大片 | xxxx69国产 | 最新日本中文字幕 | 日韩久久久久久久久久久 | 久久手机看片 | 一级黄色片国产 | 美女扒开尿口让男人捅爽 | 国产日韩亚洲 | 国产无套内射普通话对白 | 我和我的太阳泰剧在线观看泰剧 | 欧美精品在线免费观看 | 久久夜色精品国产欧美乱 | 不卡视频国产 | 蜜桃网av | 国产精品人成 | 国产精品成人免费 | 后入内射无码人妻一区 | 九七av| 亚洲一级二级三级 | 任你躁av一区二区三区 | 六月婷婷久久 | 免费a级片在线观看 | 少妇无内裤下蹲露大唇视频 | 天堂网一区二区三区 | 亚洲一级淫片 | 日韩色| 夜夜激情 | xx色综合| 丝袜人妻一区二区 | 一区两区小视频 | 日韩女优一区 | 青娱乐超碰在线 | 国产美女91呻吟求 | 思思99精品视频在线观看 | 亚洲aⅴ在线 | 蜜臀av午夜精品 | 伊人久久大香线蕉av色婷婷色 | 亚洲av无码乱码国产麻豆 | 免费在线播放av | 国产清纯在线 | 欧美丝袜一区二区三区 | 精品视频久久久 |