• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-18  評論-11  文章-12  trackbacks-0

                  合同預警是我在項目組負責的第一個模塊,到今天為止,終于完工。回頭看,現在的這個版本和我最初的設想有較大的差異。整個模塊主要有兩個頁面組成,預警信息展示和預警條件設定。前者,以列表的形式顯示所有符合預警條件的合同,后者,對預警的條件進行編輯。合理好用的編輯條件是這個模塊的關鍵,本文將對預警條件編輯頁面的一些設計思路予以回顧。

            圖一    圖二

                   將預警條件分為A/B兩類。A類預警條件在新增合同時自動檢查,包含合同簽訂年限和合同簽訂次數兩個選項。如已簽訂3次合同的人員在簽新合同時予以提醒。B類預警條件用于本文開篇所述預警信息的展示。可是設置復雜的組合條件,如固定期限型,將在一個月之內到期的合同予以提醒。

                  預警條件由(HRID,SerialNumble),Brief,Title,Content,EWType,SqlSentence,SharePerson這幾項組成。HRID為當前操作員的唯一性編號,也是該預警條件的設立者。SerialNumber為該操作員所擁有的預警條件序號。這兩個字段為預警條件表的主鍵。Brief為預警的簡稱,Title和Content可以對預警條件詳細說明,并且使用@ContractName@的形式來表現合同的具體信息。SqlSentence為根據查詢條件生成的查詢語句。考慮預警條件編制較為復雜,設立SharePerson字段,將該預警條件共享給其他人使用,也即該預警條件的使用者,默認為預警條件的設立者。在合同預警頁面中,讀取這個字段的內容,來獲取操作員所能夠使用的預警條件。(like %hrid%)

                 預警條件的共享(使用者)設計比較有意思。最初沒有考慮到要將預警條件共享給其他人使用,現在即使增加一個字段,存儲共享者的hrid,也很麻煩。記錄之間高度關聯,增加一個共享者,需要在條件設定者里加字符,同時需要將條件賦給共享者,在表中增加一條記錄。而刪除共享者時,則更為麻煩,所有預警條件沒有唯一性編號,很難保持數據一致性。之后考慮新增一張表存儲共享關系,但這樣對現有程序結構改動太大。最后發現,只要在查詢預警信息時使用SharePerson like %hrid%的形式即可,而現有的預警條件編輯頁甚至不用作太多變化。這種設計實際上是將條件的編寫者和使用者分離,大致實現胡老師所說的預警條件庫。

                  以上合同預警的大致設計思路。在中途多次變更,bug也出現過無數回,最初的原版本甚至花費了一個月的時間。與初次上手不熟悉環境有關,但更多的是一些可避免的原因造成。存在以下問題:

                1)程序bug太多。頭一個月在原型出來后,改bug就改了一個多星期,自己很疲。其實多數bug細心一些都是可以避免的。寫程序,是一門細致的學問,很精確,毛躁不得。寫程序之前,先想一想思路,再沒有理清楚思路之前,不要動手。

                 2)設計表的時候,不夠合理,昨天甚至發現,存放預警信息的表,甚至連主鍵都沒有。如果都是從頁面中對表進行操作自然沒有問題,如果有人直接修改數據庫呢?再有沒有考慮到擴展性,EWType、SharePerson都是后來才加進來的。

                3)獨學無友,何況我只是一個初學者。事實上,現有的設計很多都是討論出來的,一個人扛著時總是容易陷入死胡同。

                 4)不斷求精,不要怕麻煩。有時因為程序寫起來麻煩,所以在設計時就避重就輕,到頭來還得還是自己。

                5)嗯,基礎很重要,體現了對程序的敏感程度。

                 6)在設計程序時,可能有很多條路可以達到最終的目標,但應學會選擇一條最簡潔的路。如共享者選擇頁面就是直接調用之前的頁面,而不是我自己設計的那個頁面。

            以上!


            類別:項目回顧 查看評論
            文章來源:http://hi.baidu.com/hawkingliu/blog/item/8bdcf91f5a3635f0e0fe0b32.html
            posted on 2008-04-17 22:10 ronliu 閱讀(234) 評論(0)  編輯 收藏 引用
            亚洲va久久久噜噜噜久久狠狠 | 久久国产高潮流白浆免费观看| 亚洲精品美女久久久久99小说| 国产精品久久久久久久app| 亚洲国产精品无码久久SM| 99久久99这里只有免费费精品| 嫩草影院久久99| 国产69精品久久久久观看软件 | 一本久久a久久精品vr综合| 久久综合狠狠综合久久| 欧美777精品久久久久网| 久久人人爽人人爽人人片AV麻烦| 久久久久亚洲Av无码专| 精品水蜜桃久久久久久久| 99精品久久久久久久婷婷| 久久av免费天堂小草播放| 久久精品国产亚洲AV忘忧草18| 大美女久久久久久j久久| 中文字幕热久久久久久久| 国产成人香蕉久久久久| 国产精品一久久香蕉国产线看 | 久久久久亚洲精品天堂久久久久久| 人妻久久久一区二区三区| 久久影视综合亚洲| 国产精品日韩深夜福利久久 | 国产一区二区精品久久| 日韩人妻无码一区二区三区久久 | 久久99精品久久久久久9蜜桃| 久久国产劲爆AV内射—百度| 久久青青草原精品国产软件| 91精品国产色综久久| 97久久香蕉国产线看观看| 日产精品久久久久久久| 久久综合给合久久国产免费| 久久精品中文字幕一区| 精品伊人久久大线蕉色首页| 亚洲精品NV久久久久久久久久| 久久天天躁狠狠躁夜夜2020老熟妇| 国产免费久久精品丫丫| 久久久久国产精品麻豆AR影院| 中文精品久久久久国产网址|