1. 程式人生 > 其它 >對結對程式設計的一點總結

對結對程式設計的一點總結

一、專案簡介

本次的結對程式設計專案是由我和張文凌同學共同完成的,是對個人專案的一個拓展,加入了圖形化介面,讓使用者的體驗更好。

在個人專案中,我們兩個人都用Python作為程式碼語言,同時選擇做網頁,放棄了python第三方庫的GUI。所以這個結對專案前端使用了原生的HTML+JS+CSS,後端使用了PHP來進行資料庫的連線。

整個專案的頁面切換如下所示:

二、程式碼複用

對於這次結對程式設計,我們最先開始做的是HTML佈局,仔細思考了很久發現後端好像用Python不太好連線,所以我們選擇直接使用JavaScript生成題目,生成題目的邏輯與Python幾乎一致,我們只需要將變數型別確定,其餘基本一致。所以對於之前個人專案的程式碼複用還算比較好。

三、專案實施過程

我在這次結對專案中主要負責以下任務:

  • 通過JS生成題目並且計算得到正確結果

因為在Python中有eval方法可以直接計算字串表示式的值,所以我們查閱了資料,發現在JS中也可以實現,因此我們只需要將平方、開方、三角函式通過ReplaceAll方法加上字首Math.,然後通過eval函式就可以直接計算正確結果,同時也注意到例如負數的開發,eval函式計算可以得到NaN,所以是非常方便的。

  • 連線資料庫

因為在登入、註冊、修改密碼這幾個頁面都需要對資料庫進行操作,這一部分花費了我們相當長的時間。在最開始我找到了Node.js來連線資料庫,雖然可以連線成功,但是不能獲取到網頁的資訊,也就是說不能與前端相連線,但是我們又找不到合適的方法來實現這個,於是荒廢了大半天,第二天決定嘗試使用PHP,但是一個環境的配置就花了大半個下午,不過好在最終成功連線了資料庫,同時前端表單提交的時候可以通過action來跳轉到PHP程式碼執行。

  • 訪問資料庫

通過張同學負責的前端CSS樣式表,我只需要將登入、註冊、修改密碼的頁面的資料庫增刪查改實現即可,對於PHP來說,只需要特定的查詢或者增加刪除的Mysql語句,即可實現對資料庫的訪問。下面就是一個示例,通過這種方式就可以很方便的實現對資料庫的操作。

  • 手機號合法性驗證,密碼的合法性驗證

對於手機號來說,常見的理解是11位即可,但是因為執行商的問題,手機號是被限制的(比如開頭只能為1),為了能夠100%收到驗證碼簡訊,選擇通過正則表示式來判斷賬號是否合法。

對於密碼,專案需求中寫到要滿足大小寫字母+數字,並且長度要在6-10位,這裡我就用了很笨的方法,直接對密碼進行遍歷判斷是否滿足要求,同時使用strlen函式來計算密碼長度。、

四、個人感想

怎麼說呢,整個結對程式設計的過程還是磕磕絆絆的吧,從最開始的HTML開始就很迷茫,因為我們兩個對於HTML、JS、CSS都不是很熟悉,基本上是從零基礎開始學習,包括後面的連線資料庫,從一開始一籌莫展到發現Node.js可以實現,再到Node.js不能實現前端互動而很抑鬱,之後又發現了PHP,但是配PHP的環境就有點讓人很惱火,中間甚至還萌生了不做網頁直接改做GUI的想法,不過最終還是堅持了下來,把網頁做了出來。整個的開發過程中間比較麻煩的是,每當兩個人的程式碼產生交集時,就需要互相傳送檔案,我感覺這樣太耗時間了,如果有能實時獲取到隊友程式碼的功能就好了。

總而言之,這一次結對程式設計專案我們還是花了很多時間和精力的,從這裡面學到了很多之前都沒有接觸過的知識,雖然有點遺憾(只能本地執行,不能直接上線),不過我們已經很滿足了,希望之後我還能夠保持住這樣的熱情,積極的投入到開發工作當中!