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