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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

结对项目——电梯调度算法的实现和测试

發(fā)布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结对项目——电梯调度算法的实现和测试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

?

隊員:11061147徐姍&&11061180王宇杰

對于結(jié)對編程的總結(jié):

優(yōu)點:

1、理解代碼的效率更高:對于理解由一門不太熟悉的語言寫出的程序,結(jié)對編程有很強的優(yōu)勢。一個人容易出現(xiàn)似懂非懂的狀況,但是兩個人,遇到問題就馬上提出來,在討論的過程中不但理解更加深入,也更快速。

2、書寫代碼的效率更高:兩個人有所分工,書寫代碼速度會更快,并且在寫代碼的過程中,也不是各寫各的,相互之間有交流,誰有靈感就直接說。這樣寫出的代碼更書寫效率和執(zhí)行效率都更高。

3、優(yōu)化代碼的效率更高:優(yōu)化代碼時,隊友會用挑剔的眼光看自己所寫的代碼,這樣更易發(fā)現(xiàn)問題,否則一個人的思維,總認(rèn)為自己是對的,是完美的,不知怎樣優(yōu)化。

4、提高與他人的交流能力:結(jié)對編程由于是隨機分配,使得原本并不熟悉的兩個人,要為同一個目標(biāo)而奮斗,所以增加許多交流的機會,提高自己與隊友交流合作能力的同時,建立了友誼。

5、保持編程熱情:一個人在解決問題時,很容易因為一點困難,就氣餒,但是兩個人一起就可以互相激勵,共同解決,保持那份熱情,繼續(xù)努力。

缺點:

1、通常情況下,每個人的編程風(fēng)格都不一樣,對于我們這樣的初學(xué)者來說,很少有人有很好的編程規(guī)范,所以理解他人的代碼就很不適應(yīng),所以我們在今后還是要規(guī)范自己的編程風(fēng)格,方便他人理解。

2、由于結(jié)對編程是兩個人合作,所以在一定程度上,會產(chǎn)生依賴心理,認(rèn)為自己可以偷懶,反正有隊友呢。

3、有時自己思路很清晰,但隊友怎樣也無法理解,每個人都堅持自己的想法,容易產(chǎn)生沖突,甚至是對結(jié)對編程的抵觸情緒。

?

?

隊友(王宇杰)優(yōu)點:認(rèn)真、思維活躍、善于傾聽隊友的想法并作出理智判斷

隊友(王宇杰)缺點:學(xué)習(xí)一門新的語言能力不是很強

?

Information Hiding信息隱藏

信息隱藏指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含的特定信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說,是不可訪問的。在實現(xiàn)算法的過程中,我們對于不同類做適當(dāng)?shù)碾[藏,即不可訪問,這樣保證了信息獨立性的同時,也保證了其安全性(不易在其他類中被修改)。 interface design接口設(shè)計 接口泛指實體把自己提供給外界的一種抽象化物(可以為另一實體),用以由內(nèi)部操作分離出外部溝通方法,使其能被修改內(nèi)部而不影響外界其他實體與其交互的方式,就如面向?qū)ο蟪绦蛟O(shè)計提供的多重抽象化。接口設(shè)計包括三個方面:
1、用戶接口
??? 用來說明將向用戶提供的命令和它們的語法結(jié)構(gòu),以及軟件的回答信息。
2、外部接口
??? 用來說明本系統(tǒng)同外界的所有接口的安排包括軟件與硬件之間的接口、本系統(tǒng)與各支持軟件之間的接口關(guān)系。
3、內(nèi)部接口
??? 用來說明本系統(tǒng)之內(nèi)的各個系統(tǒng)元素之間的接口的安排 在本次結(jié)對編程中,我們利用了IRequest、IElevator、IPassenger、IScheduler等接口,方便接受用戶信息,也方便構(gòu)建相應(yīng)類來繼承其屬性。 loose coupling松散耦合 松散耦合是指模塊之間要盡量保持獨立,模塊之間盡量少的牽連,以免修改一個模塊后導(dǎo)致其他模塊的異常,這樣便于程序的修改和管理。本次編程對于模塊之間的設(shè)計并未體現(xiàn),但是從老師給的代碼中,我們體會到了模塊獨立的重要性。 契約式設(shè)計 也被稱為契約編程,編程的合同,設(shè)計合同編程,軟件設(shè)計方法。它規(guī)定,軟件設(shè)計師應(yīng)該定義正式的,精確的和可核查的接口規(guī)范的軟件組件,它擴展了普通的抽象數(shù)據(jù)類型定義的前提條件,后置條件和不變。契約式設(shè)計不會取代常規(guī)的測試策略,如單元測試,集成測試和系統(tǒng)測試。相反,它補充外部與內(nèi)部的自我測試,在測試過程中相隔離測試和生產(chǎn)代碼中,可以激活測試。內(nèi)部的自我測試的好處是,他們可以檢測錯誤,才表現(xiàn)為無效的結(jié)果由客戶端觀察。這將導(dǎo)致更早,更具體的錯誤檢測。 核心算法: 為四個電梯建立四個數(shù)組,每當(dāng)遇到該電梯有請求時,對該電梯已有請求進行排序,數(shù)組標(biāo)號小的存大的樓層數(shù)。在任意一層時,先判斷離頂層近,還是底層近,確定電梯此刻的移動方向,移動過程中,順道帶上該方向的乘客(如果承載量允許的話)。對于大量出現(xiàn)在0、1層的情況,我們選擇從最底層到最頂層,是乘客目的地的樓層就停,不是的繼續(xù)向該方向前進。 UML類圖:

轉(zhuǎn)載于:https://www.cnblogs.com/xushan/p/3358584.html

總結(jié)

以上是生活随笔為你收集整理的结对项目——电梯调度算法的实现和测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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