結對程式設計作業

2022-07-12 08:27:12 字數 4128 閱讀 3550

部落格資訊

瀋陽航空航天大學計算機學院2020軟體工程作業

作業要求

課程目標

熟悉乙個「高質量」軟體的開發工程

作業目標

結對程式設計作業

四則運算

應為我們採取的是qq工具以及遠端控制對方電腦的方式,以下是我和隊友進行問題討論以及思路梳理時的相關**:

序號重要性

審查項結論1重要

標頭檔案和定義檔案的名稱是否合理是2

不重要標頭檔案和定義檔案的目錄檔案是否合理是3

不重要版本和版本宣告是否完整4重要

標頭檔案是否是使用了ifndef/define/endif預處理塊?

5不重要

標頭檔案是否只存放「宣告」而不存放「定義」6重要

空行是否得體?是7

不重要**行內的空格是否得體?是8

重要長行拆分是否得體?是9

重要「」是否各佔一行並且對齊同一列?是10

不重要一行**是否只做一件事?如只定義乙個變數,只寫一條語句。是11

重要if、for、while、do等語句自佔一行,不論執行語句多少都要加 「{}」。是12

重要在定義變數(或引數)時,是否將修飾符 * 和 & 緊靠變數名?注釋是否清晰並且必要?是13

重要注釋是否有錯誤或者可能導致誤解?

14重要

類結構的public, protected, private順序是否在所有的程式中保持一致?

15重要

命名規則是否與所採用的作業系統或開發工具的風格保持一致?

16重要

識別符號是否直觀且可以拼讀?是17

不重要識別符號的長度應當符合「min-length && max-information」原則?是18

重要程式中是否出現相同的區域性變數和全部變數?

19重要

類名、函式名、變數和引數、常量的書寫格式是否遵循一定的規則?

20不重要

靜態變數、全域性變數、類的成員變數是否加字首?

21重要

如果**行中的運算子比較多,是否已經用括號清楚地確定表示式的操作順序?

22重要

是否編寫太複雜或者多用途的復合表示式?否23

重要是否將復合表示式與「真正的數學表示式」混淆?

24重要

是否用隱含錯誤的方式寫if語句? 例如

25重要

將布林變數直接與true、false或者1、0進行比較。

26重要

將浮點變數用「==」或「!=」與任何數字比較。

27重要

將指標變數用「==」或「!=」與null比較。是28

重要如果迴圈體內存在邏輯判斷,並且迴圈次數很大,是否已經將邏輯判是29

不重要判斷移到迴圈體的外面?

30重要

case語句的結尾是否忘了加break?

31重要

是否忘記寫switch的default分支?

32重要

使用goto 語句時是否留下隱患? 例如跳過了某些物件的構造、變數的初始化、重要的計算等。

33不重要

是否使用含義直觀的常量來表示那些將在程式中多次出現的數字或字串?

34不重要

在c++ 程式中,是否用const常量取代巨集常量?

35重要

如果某一常量與其它常量密切相關,是否在定義中包含了這種關係?

36重要

是否誤解了類中的const資料成員?因為const資料成員只在某個物件

37重要

生存期內是常量,而對於整個類而言卻是可變的。

38不重要

引數的書寫是否完整?不要貪圖省事只寫引數的型別而省略引數名字。

39不重要

引數命名、順序是否合理?是40

不重要引數的個數是否太多?否41

重要是否使用型別和數目不確定的引數?否42

重要是否省略了函式返回值的型別?是43

不重要函式名字與返回值型別在語義上是否衝突?

44重要

是否將正常值和錯誤標誌混在一起返回?正常值應當用輸出引數獲得,而錯誤標誌用return語句返回。否45

重要在函式體的「入口處」,是否用assert對引數的有效性進行檢查?

46重要

使用濫用了assert? 例如混淆非法情況與錯誤情況,後者是必然存在的並且是一定要作出處理的。

47重要

return語句是否返回指向「棧記憶體」的「指標」或者「引用」?

48不重要

是否使用const提高函式的健壯性?const可以強制保護函式的引數、返回值,甚至函式的定義體。「use const whenever you need」

49重要

用malloc或new申請記憶體之後,是否立即檢查指標值是否為null?(防止使用指標值為null的記憶體)是50

重要是否忘記為陣列和動態記憶體賦初值?(防止將未被初始化的記憶體作為右值使用)

51重要

陣列或指標的下標是否越界?否52

重要動態記憶體的申請與釋放是否配對?(防止記憶體洩漏)

53重要

是否有效地處理了「記憶體耗盡」問題?否54

重要是否修改「指向常量的指標」的內容?

55重要

是否出現野指標?例如(1)指標變數沒有被初始化;(2)用free或delete釋放了記憶體之後,忘記將指標設定為null。

56重要

變數的資料型別有錯誤嗎?否57

重要存在不同資料型別的賦值嗎?

58重要

存在不同資料型別的比較嗎?

59重要

變數的初始化或預設值有錯誤嗎?否60

重要變數發生上溢或下溢嗎?

61重要

變數的精度夠嗎?

62重要

由於精度原因導致比較無效嗎?

63重要

表示式中的優先順序有誤嗎?

64重要

邏輯判斷結果顛倒嗎?否65

重要迴圈終止條件不正確嗎?否66

重要無法正常終止(死迴圈)嗎?否67

重要錯誤地修改迴圈變數嗎?

68不重要

存在誤差累積嗎?

69重要

忘記進行錯誤處理嗎?是70

重要錯誤處理程式塊一直沒有機會被執行?否71

重要錯誤處理程式塊本身就有毛病嗎?如報告的錯誤與實際錯誤不一致,處理方式不正確等等。

72不重要

錯誤處理程式塊是「馬後炮」嗎?如在被它被呼叫之前軟體已經出錯。否73

不重要對不存在的或者錯誤的檔案進行操作嗎?

74重要

檔案以不正確的方式開啟嗎?否75

重要檔案結束判斷不正確嗎?否76

重要沒有正確地關閉檔案嗎?

否我這次結對程式設計的隊友是劉雨婷同學,我們配合算是不錯的,順利的完成了結對程式設計作業。我和劉同學在編寫過程當中,並沒有嚴格的規定誰是領航員,誰是駕駛員角色,而是時時刻刻在變換著角色,對方編寫的程式,由我來負責審核改進,相反我的**也由劉同學來負責審核改進。我們的實現了角色很好的適應與變化,也體會到了合作的好處。值得一提的是劉同學的程式設計能力還是蠻不錯的,當我的想法拿給劉同學之後,她編寫的速度竟然比我的快很多,也可以看出來劉同學在理解**還有合作溝通都是有不錯的表現。在整個**的編寫過程當中,劉同學很積極,對自己負責的那一塊很上心,也不斷的去考慮優化,盡可能的去展現出更好的**。除了完成自己的那部分任務之外,她也不斷的給我進行指導和問題解決,包括單元測試這一塊,我不是很熟練,在編寫標頭檔案的時候卡住了,停滯不前。她在很短的時間裡面幫我解決了問題,也順利完成了單元測試,給劉同學的能力點讚一波。通過這次結對作業,我體會到了合作的重要性,以及自身能力的缺陷。自己還在**動手方面太過欠缺,導致有思路也不能很流利的去編寫,還有許許多多的細節問題沒法處理。我會繼續加油努力的,讓自己的能力有乙個大的提公升。

結對程式設計作業

主介面 點選打亂鍵,自動生成一組亂序的,玩家需要將這組亂序進行恢復。往次得分介面以名字得分以及對應遊戲場次的二維表展示每位玩家的當前總得分情況 按分數從高到低進行排名 在此介面玩家仍可正常進行遊戲,當玩家需要ai提示時,點選ai演示,ai演算法將代替玩家移動下一步 原型模型設計工具 axure rp...

結對程式設計作業

具體分工 林昊煒陳嘉辰 ai 部分演算法的實現 計畫 相關資料的收集 華容道遊戲的實現 華容道原型的設計 華容道遊戲的收集與分類 遊戲ui設計 原型開發工具 axure rp 9 墨刀 原型分析 根據題目要求,我們最終設計了相對簡約的介面原型。首先是遊戲開始介面 點選設定後進入設定介面,設定難易度。...

結對程式設計作業

姓名部落格 github專案位址 分工劉佳潤 部落格鏈結 github鏈結 原型設計,測試 沈明鎮部落格鏈結 github鏈結 編寫 編寫部落格 縮放經常出現error 用python調整縱橫比和大小,使其在視窗能正確顯示 是學習了pil庫的使用 def init self,startnode,en...