解决问题:心态 原则 方法
1. 上下文 -- 和問題相關的場景,指一組已經是明確已知的,關于問題的條件的描述。
2. 目標 -- 指關于構成問題的結論的明確的描述。
3. 障礙 -- 指問題的正確解決方法不是顯而易見的,必須通過一定的思維活動,才能找到答案。
?
良好的定義問題是解決問題的關鍵步驟。
定義問題就是鑒別期望和現狀的差異。有如下幾個關鍵點:
1. 首要的是,收集整理關于現狀的可信的信息,而不要假設已經擁有完備的可信信息;
2. 不暗示傾向于某種原因或者解決方法;
3. 只陳述現狀和期望的狀態;
4. 在解決問題的過程中,問題的定義可能(有必要)會不斷的改進或者轉換形式。
?
源文檔 <http://zh.wikipedia.org/w/index.php?title=%E9%97%AE%E9%A2%98&variant=zh-cn>
?
心態
????靜心:在定位問題之前,最好先安靜下來,摒除雜念。放下自己的身份(項目經理、開發人員),以解決當前系統的問題為中心。靜心之后,將問題現象在腦中過一遍,弄清問題。
?
問題解決者不輕信,不盲從
????絕不因為一句“應該是對的”“大概沒有變化”而拋棄一個懷疑的點。
?
大局觀:不要盡早的陷入細節
????實際上,在整個問題定位和解決的過程中,都應該盡量在頭腦中對整個系統的映像以及當前位置保持清晰的認知。這樣有助于前后、上下聯系,在更高更廣闊的空間中發現問題。在解決問題的時候提醒自己:我現在處于一個什么位置?如果不啟動調試環境我能不能解決掉這個問題?
?
預判斷,然后驗證:盡量將日志、調試、HttpFox等都用作驗證問題的工具——首先對問題的原因做預判斷(猜測),然后確定該原因會導致什么現象,然后驗證該現象(日志等)。預判斷比驗證更應被關注。
?
當很難預判斷問題位置時,可以采用排除法:每次排除系統范圍的一半左右,逐步將包圍圈縮小到問題原因本身。應注意:排除的過程中,同樣要注意驗證排除的是否正確,即:排除、驗證、排除、驗證……
?
關注日志
?????很多問題解決過程中其實打開日志文件就能馬上得到結論,但是開發人員寧可自己猜也不愿意動手打開日志。
另外也暴露了我們系統日志沒有為開發人員提供足夠的信息支持用以解決問題,后面的設計中要把異常設計作為一個重要部分。
?
充分利用工具,能得到事實就不猜測
比如:HttpFox等工具能將HTTP請求錄下來,我們不需要猜測;還有Windows事件日志,性能計數器,Windbg等等工具可用
?
通過差異找到問題的原因
很多問題的解決可以不依賴開發態的調試,比如通過比較當前版本和上一版本的區別,比較產品和產品之間的差別就能通過差異來定位問題。
?
解決掉一個問題不是終結
之前往往滿足于一個能夠解決眼前問題的答案;這是遠遠不夠的,一個問題的出現暴露出我們系統的缺陷,這是一個線索,需要避免同樣的問題的出現
一個問題的出現我們要追究到問題的本質,例如前段時間SSO登陸失敗和驗證碼本地使用失敗,本質上都是由于配置文件中指定了Cookie的域。
?
總結
以上是生活随笔為你收集整理的解决问题:心态 原则 方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读取速度贼快的省市区地址库
- 下一篇: php 单例模式 单态模式