分享乙個關於資料鏈的技巧

2021-10-09 00:23:20 字數 497 閱讀 1264

假設有這麼場景,乙個考試系統,有兩種題型,一種題是乙個問題,一種題是一堆題,後者是屬於問題鏈,也就是,要答對一堆題,才能算是完成乙個題目。

那麼,我們在資料中是怎麼去表示這種一堆題呢,方法有多種,可以加個表作為連線資訊,也可以加個字段表示,表示方法也有很多種,有總-分,也有分。我推薦用最小的操作,即加乙個下一題的字段,如果一道題的完成需要完成a,b,c三個子問題,可以在a的下一題填入b,b的下一題填入c,如果不填,則表示只有乙個問題的題目。

現在問題來了,資料庫倒是不難,可是傳輸資料怎麼設計,假設用json作為傳輸資料,要怎麼去表示一堆題的邏輯關係。資料介面要保證一致性,不管是乙個題目,還是問題鏈,資料介面都是一樣的,所以最直觀的辦法就是預留乙個下一題的字段,如果有多個題目,把下一題的資訊嵌進去下一題字段。說起來容易,真正在**裡面實現就比較考驗技巧了,這裡推薦乙個很實用的技巧:巧用遞迴,把單個問題的封裝做成乙個方法,當判斷有一題時,使用遞迴,最終把問題鏈的關係展示出來。

關於vim,ctags的乙個小技巧

關於vim,ctags的乙個小技巧 vim可以使用ctags製作的tags檔案來瀏覽程式原始檔。問題是,當原始檔存放在目錄樹 也就是所謂的source tree 的時候,該怎麼辦呢?在預設情況下,ctags只會處理當前目錄裡的原始檔,而且vim也只會參考當前目錄的tags檔案。這時候,如果當前目錄裡...

關於vim,ctags的乙個小技巧

vim可以使用ctags製作的tags檔案來瀏覽程式原始檔。問題是,當原始檔存放在目錄樹 也就是所謂的source tree 的時候,該怎麼辦呢?在預設情況下,ctags只會處理當前目錄裡的原始檔,而且vim也只會參考當前目錄的tags檔案。這時候,如果當前目錄裡的原始檔引用了其他目錄裡的定義,那麼...

關於頁面回跳的乙個小技巧

我們先假設這樣乙個場景,實際之中也是這樣做的,有乙個分頁的論壇,現在我在第二頁,刪除其中乙個帖子,一般簡單來說,刪除後會自動跳到帖子的展現頁面的第一頁,但如果我想跳到原來所在的頁面,即帖子展現頁面的第二頁,該怎麼辦呢?配置如下 test.jsp 中 要傳過去的當前頁面的 url 位址 string ...