輕松

          記述我學習java的里程

          常用鏈接

          統計

          積分與排名

          友情鏈接

          最新評論

          解決問題之道--將復雜的問題簡單化

          在我們的日常工作過程中,經常會遇到很多復雜的問題,我們怎么能快速解決這些問題呢?這里我要介紹的個人經驗就是“將復雜的問題簡單化”。下面舉個剛剛發生的小例子來說明這個方法。

          最近在做公司ECP升級項目中引入了Portal中間件,因為大家都對這個Portal的使用很不熟悉,所以開發過程中遇到了很多問題。我這個例子就是解決其中的一個問題“如果配置PORTAL中的用戶信息從LDAP中讀取”,其實這件事就是發生在我寫些文的前十分鐘。下面說一下解決問題的過程。

          第一步,閱讀相關文檔,按照文檔中的說明進行配置。結果由于文檔不是很詳細,而公司使用的LDAP服務器是微軟的Active Directory所以未能按照文檔說明配置成功。

          第二步,確定問題點,這個比較困難,因為不知道是因為配置的原因還是portal中間件本身對AD的支持不好。所以我們只能猜測是我們配置的不正確,雖然我們是完全按照文檔進行的。

          第三步,找出我們配置中我們哪里配的不對。這個更困難了,因為已經無資料可查,只能自己看源碼了。

          第四步,看了半天的源碼無果,只能調試了。

          說到調試,而且又是比較復雜的中間產品,可能大家想到的就是使用遠程調試的方式了??墒沁@種方法只能查看一下運行時的變量狀態,也不能插入自己的代碼進行測試。而且這重啟一次又是那幾分鐘過去了,解決這個問題可能要花很多的時間。

          所以我想到了另一種方式,搭建了一個只針對問題點的測試環境。在eclipse里新建了一個項目,把我們前期配置的部分拷到項目中,寫了單元測試程序。這個時間我只花了十分鐘。運行了一下,發現確實不能從LDAP中正確讀取出人員信息。因為對LDAP不是很熟只好請外援了,把咱大名頂頂的安工請過來。因為反問題點簡化到了就加載兩個類和啟動一個單元測試。所以安工花了十幾分鐘就把問題搞定了。

          故事描述完了,最后總結一下。在一個復雜的環境下調試,其實我們是很難很快發現問題的。同時環境的加載啟動還要浪費很多時間??墒俏覀冊诖_定或猜測出問題點的時候,把環境簡化到,只剩下有可能出現的問題地方??赡芪覀兒芸炀湍芙鉀Q它了。這就是我要說的“解決問題之道--將復雜的問題簡單化”。有點啰嗦,很少寫東西。以后還得鍛煉。這個方法其實我已經用了很多年,說起來簡單,希望你能在碰到問題的時候想起這個方法,并能真正的運用它。

          最后感謝安工的全力幫助。這種全心幫助他人的精神,永遠是我們學習的榜樣。


          posted on 2011-11-24 16:49 輕松 閱讀(3005) 評論(2)  編輯  收藏

          評論

          # re: 解決問題之道--將復雜的問題簡單化 2011-11-24 16:58 feisishui

          你說的和我當時soe的調式情況一個樣,其實可以把其中的方法拿出來在ae環境下測試 。  回復  更多評論   

          # re: 解決問題之道--將復雜的問題簡單化 2011-11-25 10:50 tb

          恩 不錯   回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 科尔| 九龙县| 同心县| 壤塘县| 太康县| 万荣县| 常德市| 尼木县| 青阳县| 嘉禾县| 中卫市| 松桃| 河东区| 葫芦岛市| 翁源县| 仁化县| 青川县| 老河口市| 宝兴县| 汕尾市| 古丈县| 宜都市| 高密市| 保德县| 柞水县| 独山县| 定陶县| 昌黎县| 安乡县| 科尔| 新宁县| 乳源| 白城市| 沂源县| 大竹县| 库伦旗| 徐汇区| 利津县| 长泰县| 茌平县| 湘潭市|