❶ 程序員是怎樣解決問題的
程序員的五部曲:
第一、理解問題
解決問題的首要前提是客觀准確地理解問題,這樣我們才能抓住問題的本質,對症下葯。
客觀
為什麼強調客觀呢?在生活中,這樣的情境很常見。
我們可以很客觀地去評價他人,甚至是給他人給出合理的意見,但是同樣的一件事情,放到我們自己身上,我們可能就會覺得束手無策。
通常情況下,我們對於自己的評價是帶走自我保護心理的。
自己遇到問題,我們會下意識地弱化問題,或者情櫻型緒化地來理解問題,造成問題的失真。
魔鏡的故事就是一個最典型的賣頌改例子。
准確
當我們對自身的問題評價做不到客觀的時候,我們往往也不會准確理解問題。
還有,准確的定義是找到問題的關鍵所在。這個怎麼做呢?
我們仿照時中判間管理的方式。
首先對自己所要解決問題的過程做一個較為詳細的記錄。
堅持記錄幾天之後,我們需要將所有的記錄結果進行匯總,分析,找出漏洞最大的地方。
那麼這個洞也就是所謂的關鍵,我們也就可以找到解決問題的突破口。
舉個例子,筆者前段時間開始用手機軟體記錄自己的時間花銷,記錄幾天之後,就會發現,自己時間浪費最為嚴重的是娛樂。
知道了時間浪費的黑洞,那麼接下來就該思考時間黑洞產生的原因了。
時間浪費的主要原因是兩個
第一,目標流失
當我在網上查資料,或者用手機寫作的時候,總會進入其他的瀏覽頁面,等到自己發覺的時候,時間已經過去大半。
這個我稱之為目標流失。也就是我們在網頁瀏覽的時候已經忘記了自己最初的目的,比如說你本來想找一本書籍的txt版本,但是後來你發現自己瀏覽了一下午的娛樂新聞。
第二,多任務處理
這個問題我是經常遇到。比如說,我在進行日更的時候,有新同學發微信,說查一下宿舍的分配情況。
我當時的反應是火急火燎地去其刷微信,信息查詢完畢之後,和分配在同一宿舍的同學聊了一下午。
最要命的是,等到你刷完屏的時候,你有很大可能會忘掉你在更這件事。
或者說你還記得,但你的精力已經消耗的差不多了,你會告訴自己,等會再更,然後你有很大的概率會斷更。
找到時間黑洞形成的原因,那麼就可以尋求解決措施了。
第二、計劃
為自己的病症設置一個完整的療程,根據問題出現的原因,制定每一步要採取的手段。
第三、拆解
這一步是和計劃聯系在一起的,只不過它的要求更加細化。
它需要我們將計劃的每一步都拆解成可以執行的步驟,感興趣的讀者可以參考筆者的另外一篇文章《如何讓遙不可及的夢想變得觸手可及?》
第四、卡殼
可以說,我們每個人都有改變的想法,也確實有很多人嘗試去做了,為什麼還有那麼多的放棄者。
因為在執行計劃的時候,出現的變數讓我們卡殼了。卡殼再正常不活了,那為什麼會放棄?
答案是自我負罪感。
當我們卡殼的時候,我們大多數人會產生一種負罪感,就是覺得自己定計劃的時候,詳盡完備,而且自己已經堅持了這么長時間,會陷入一種自我懷疑,也就是負罪感。
解決的辦法是立即採取行動,而不是描述問題本身,這也是我們解決所有問題的一個心態。
我們不要緊盯著問題本身,你理解問題的過程就是在採取行動,相反,你逢人就說,我遇到什麼問題,我有多痛苦,沒有任何意義。
第五、練習
其實這個步驟是對前面幾步的一個綜合。
這五部曲是一個閉環,是需要反復進行的,因為問題會不斷出現。
回頭看過去的生活,我們的歷程何嘗不是這樣?不斷遇到新問題,不斷解決問題,然後獲得新的體驗。
想看更多文章
歡迎關注大魚號【小妖影視】
❷ 程序員為什麼要一直改bug不能一次性寫好嗎
作為一名程序員,我也總是在調試,Bug總是防不甚防的出現,這個過程真是有趣又痛苦,最後我覺得習慣就好,一次性寫出完美代碼是每個程序員不可實現的夢想。
程序員作為一項工作,是有任務有指標的,比起慢慢寫出完美程序解決所有問題,大家更喜歡快速看到一個可以執行解決部分問題的程序,此時完成比完美更重要。
沒有哪個程序員可以寫出完美的代碼,即使高能又偉大的公司也做不到這一點,想想看你的手機軟體是不是經常提醒你該更新了,連微軟都在三天兩頭的讓你打補丁,不是嗎?