結對程式設計--帶UI的學習軟體
一、專案要求:
1、所有功能通過圖形化介面操作,可以是桌面應用,可以是網站(程式語言和技術不限);
2、使用者註冊功能。使用者提供手機號碼,點選註冊將收到一個註冊碼,使用者可使用該註冊碼完成註冊;
3、使用者完成註冊後,介面提示設定密碼,使用者輸入兩次密碼匹配後設置密碼成功。密碼6-10位,必須含大小
寫字母和數字。使用者在登入狀態下可修改密碼,輸入正確的原密碼,再輸入兩次相同的新密碼後修改密碼成功;
4、密碼設定成功後,跳轉到選擇介面,介面顯示小學、初中和高中三個選項,使用者點選其中之一後,提示用
戶輸入需要生成的題目數量;
5、使用者輸入題目數量後,生成一張試卷(同一張卷子不能有相同題目,題目全部為選擇題),介面顯示
第一題的題乾和四個選項,使用者選擇四個選項中的一個後提交,介面顯示第二題,...,直至最後一題;
6、最後一題提交後,介面顯示分數,分數根據答對的百分比計算;
7、使用者在分數介面可選擇退出或繼續做題;
8、小初高數學題目要求見個人專案。
二、具體實現:
前端:css3+html5+javascript
後端:php
三、專案預覽:
四、專案結構:
五、具體流程圖如下:
六、程式碼複用:
由於我們倆個人專案都是使用的python編寫,而這次選擇了網頁,不能直接進行復用,但是邏輯是相通的,在產生題目
介面中還是可以套用邏輯,只是
很快的仿寫出了出題的介面,令人感到慶幸的是,js裡面有現成的eval函式,方便了我們的判題,出題,判題部分我倆很
順利的做完了。
遇到的一些問題:
驗證碼傳送問題:驗證碼的傳送使用了榛子云服務系統,點開官網,按照php開發者文件一步步編寫,調式,最後實現
了簡訊的傳送。
form表單提交問題:前端輸入的資料均採用post方式傳送到php檔案中與資料庫進行互動,php操作資料
庫較為方便,很快完成了此項工作。
資料庫連線問題:期間嘗試用node.js連線資料庫,最後未能成功,反覆檢視資料發現php和html結合起來更為
方便,於是採用了php連線資料庫。
七、結對程式設計總結:
本次結對程式設計學會了很多,我倆都是html和js小白,從0開始學習了html常見標籤,css常用渲染,js基礎語法,php連線資料庫
....,在此過程中上網查資料,仿寫大佬程式碼,也遇到了很多阻礙,不過兩人最後還是堅持了下去,結對程式設計的過程中兩人有
不同的思路,每次修改都要大動干戈,有時候會浪費很多時間,但是如果在一開始就商量好各自的分工,各司其職,實際操作
起來會快很多。下次結對程式設計會採用git中的push,merge方式,這樣倆人在修改的過程中能清晰看到程式碼的變化,也方便雙人雙機
除錯,本次專案下來,我覺得我們得html互動部分做的還不是特別友好,以後還是得多注意一下前端的一些技巧,總而言之,這次
結對程式設計收穫很大,對前後端分離操作的模式有了更加深刻的理解!