第一招:看到問題唸十次 a. 確認你記得問題下次還記得 b. 確認你瞭解問題,沒有漏掉什麼要求 c. 確認你以後踫到類似問題,還會想到它 d. 確認你連做夢都會想到它~悲慘的程式設計師宿命~ 第二招:程式不會寫,先開始寫註解 a. 例用註解將問題描述,將問題做分析 b. 把分析方法與解法都 document 起來~對你自己最有益處 c. 直接註解而省略白紙,由註解行數的改變,讓你老闆知道你有在努力做~ c. 人家是用照片寫記憶~程式設計師是用文件寫記憶~ 第三招:解法不會寫,先寫工具 a. 一個複雜的問題,尤其是面對演算法相關的所謂困難部份 如果能把工具(諸如模擬)寫出來,這樣是比較容易找出解法的~ b. 工具總是可以拿來重覆利用的~這會讓你越寫越輕鬆~ c. 寫工具也是一種重要練習~ 第四招:整個問題不會解,先解會解的 a. divide and conquer(偶稱它為個個擊破法) 不用多說,不知道網上查也會知道~ b. 就像寫論文一樣,如果無法提出所有問題的統一解決方法,限定一些條件來解 c. 還有有時候一下就想最困難的問題,一來浪費進度、二來心情不佳 三來老闆可能把預算砍了因為沒有結果~所以先解會解的是經驗上的金玉良言~ 因為一來你花了20%完成了80%超越進度,老闆來拍肩膀了 二來你解了簡單問題心情大好,更覺得整個問題也沒什麼大不了 說不定困難問題因心情好(沒有專牛角尖)也就想到而解決了 三來老闆看你有成果說不定常拍你肩膀哩~(老闆這時候真好騙~可惜薪水不好騙) 第五招:查網路、問別人、看書獲取各種解題的資源 a. 想想偶們還在用193x的理論,當然問題絕不可能只有你才踫到 一定粉多人早就見過了~只有你踫到的通常是你自己寫出來的bug~ b. 這是群策群力的時代,多找資源、人家的經驗和別人幫忙~ c. 對應於b, 現在這個社會最忌諱單打獨鬥, 那代表你不能 team work~ d. 增加知名度、人緣~ Social 粉重要~切記~切記~ 第六招:暴力法求解再找最佳化 a. 先求有再求好~ b. 有成果人家才看得見~不然做不出來,中間再怎麼完美都沒有用~ c. 暴力法通常是最白痴也最有效的辦法~ d. 有時白痴解法最好~因為只有呆子在演東西給傻子和電腦看~你還期待有什麼 人會看你的程式?偶們高貴的使用者嗎? e. 一代萎人瞪小平同志說過:「黑喵、白喵 會抓...