乙個威客系統,要針對雇主與服務商設計能力等級,具體計算等級方式如下
總的來說就是按照公式查詢出資料然後顯示
為了便於管理,決定將資料存在資料庫中
有人可以是雇主也可以是服務商
所以等級資料可以是一張表
加上等級變更記錄,一共兩張表
等級表為表a,變更表為表b
在等級計算中,註冊時間於當前時間計算出使用者能力值,那麼問題來了,如何知道當天使用者註冊了多久呢?
1.定時器:以天為單位,每天更新一遍a表中所有人的時間經驗(缺點:執行量大)
2.查詢時計算:在每次要拿出使用者能力等級時進行計算該使用者的時間經驗(缺點:如你一直不查他,他就不會更新,管理不便?)
管理員為了使管理員可以修改積分而不會影響邏輯,a表新增附加經驗字段
a表:等級表:
使用者id,雇主能力等級,雇主能力經驗,服務商能力等級,服務商能力經驗,建立時間,修改時間,服務商_任務服務完成數,服務商_交易金額積分,服務商_好評分,服務商_差評分,雇主_充值積分,雇主_任務服務數,雇主_交易金額積分,雇主_好評分,雇主_差評分,使用者_時間經驗,服務商_附加經驗,雇主_附加經驗b表:變更表
使用者id,變更時間,變更經驗,變更正負,變更字段,變更備註建立資料庫後,主要就是添刪查改
添_改:
按領導要求,每個任務服務評價後,充值後,變動改ab表資訊
後台管理員操作
刪:後台管理員操作
查:查詢時計算時間經驗並更新資料庫,查次數很多,為此應該新增快取,快取為一天左右
如果不儲存到資料庫中,會出現資料庫中的使用者等級計算為被註冊時間影響的問題,如果不需要篩選等級的話,可以這樣做
如果使用定時器修改時間經驗,則查詢時不計算更新時間經驗
後記領導覺得要做乙個等級系統,但是他可能當時這樣想,後來就變了,但是領導說了算
所以對於這種領導,功能盡可能的多一點,
最後將個人能力表改為了個人資訊統計表,在每次需要統計的地方都新增乙個方法,不只記錄領導需要的資訊,還將以後可能用到的資料記錄
實現能力與設計能力
我見過太多的 我自己以前也是 只注重實現功能。國內絕大多數的程式設計師都以為實現了就成功了。在開始敲鍵盤之前,有多少人想過即將被建立的 會有多少的可維護性?是準備建立用完就扔的 還是需要不斷公升級 改進的 如果是需要長期被維護 改進的 在最初的時候,如果只是注重實現,而忽略整體框架的設計,那麼最終等...
如何提高設計能力?
要提高設計能力首先需要對軟體設計有著精神上的追求,即在軟體開發的過程中追求設計的完美性。夢想之所以有可能成為現實,是因為我們會去 想 並為之努力,軟體設計能力的獲得也不例外。設計能力的獲得並不會因為不去追求而 不小心 獲得且水平很高。具備軟體設計追求的人,會在設計的第一時間積極思考以試圖找到更優實現...
設計能力已得到世界認可
聯想是it產業的先導 企業 而聯想的設計部門是由首席設計師 副總經理姚映佳領軍。連續獲得世界產業設計大獎的膝上型電腦是他的作品,2008年北京 奧運聖火火炬的設計也來自他的團隊。聯想決定放棄投資17.5億美元購買並使用3年的國際 品牌。姚映佳表示 我相信,聯想有實力依靠自身的品牌占領市場。目前聯想設...