隨筆-60  評論-35  文章-15  trackbacks-0

          莘莘學子與軟件業新手請聽聽在下的十招~對于這十招提供了一些基本的解釋也希望能以詼諧的方式幫助各位加深印象~相信這十招各位經過更多經歷磨練后會有更多解釋~所以把這篇從原篇中獨立出來,希望能方便讀者參考:

          第一招:看到問題念十次
           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. 一代偉人鄧小平同志說過:「黑貓、白貓 會抓老鼠的就是好喵」

          第七招:多印追蹤資料少偵錯
           a. 講得粉白話~就是要你可以節省出問題找錯的時間~這樣才有更多時間解決真正是問題的問題
           b. 因為有追蹤資料 (trace information)不僅你可以找問題,別人也才可以幫你找出問題,想想吧~如果 compiler 只告訴你程序錯,而沒告訴你大約是哪里它碰到錯~你要花多少時間解決一個打錯字的問題
           c. 真正的問題也常能由追蹤資料找出蜘絲馬跡
           d. 養成習慣,不要等到當了還在想怎么寫追蹤資料的程序碼或可以重覆發生的方法~
           e. 你是壞人喲~干嘛壞怕留下線索~還是你是蜘蛛精,「偶揮揮手不帶走一片data而死機」所以,人家是照相機抓得住偶,程序設計師是用 bug 抓往住偶~偶不是故意幫那家快倒的、沒有「即時更新技術」的公司打廣告~

          第八招:多讀、多寫、多想、多說
           a. 多讀,像第一招,有時候會幫助你了解問題的所在或 think out of box,讀也包括讀參考資料~
           b. 多寫,熟能生巧~工欲善其事,必先利其器~
           c. 多想,解法大部份還是要腦袋想出來,即使是人家的也要腦袋理解、吸收
           d. 多說,只有在你能表達出問題所在,才表示你真正了解問題~只有你能表達出你的知識,那個知識才是你的~

          第九招:學會改進重于學會重寫
           a. 任何時間都要學會成本控制~不然你就沒有經費~
           b. 當來練習學會維護別人寫得爛程序~以后碰到再怎么爛也看得懂~
           c. 為什么爛-用注解的方法記錄下來,有機會(成本效益考量)再改進-記住是改進,不是重寫
           d. 由這種維護的痛苦加深寫好程序的方法和印象~真是歹命呀~;)
           e. 工作機會要找改進的粉多,完全寫新的粉少~

          第十招:記得備份
           a. 即使BMW也會 Crash,那「軟~」體會可能都不死機嗎?有誰說他家有裝避雷針不怕閃電、有水管(PVC)把電源線和所有線包起來不讓老鼠咬~還有說他寫的程序永遠不會當 (如果是,偶送你Taiwan No 1封號的病毒~)
           b. 讓電腦忙一下讓腦袋休息一下,對大家都好~
           c. 還是記得備份~遠方又傳來哀嚎:「神啊~請讓偶記得備份~」

          大約解釋一下,聽得懂的請消化吸收、聽不懂的當偶是說笑話也可以~希望大家能把軟件產業走得更進步~

          posted on 2006-06-10 23:39 Q系列類、方法、變量…… 閱讀(319) 評論(0)  編輯  收藏 所屬分類: 優秀文章搜集
          主站蜘蛛池模板: 阳朔县| 友谊县| 金堂县| 克什克腾旗| 横峰县| 巴林右旗| 江西省| 怀柔区| 溆浦县| 喀喇| 依兰县| 乐业县| 平昌县| 西贡区| 霍林郭勒市| 宁国市| 陈巴尔虎旗| 柳江县| 柳州市| 上栗县| 高阳县| 甘孜| 新丰县| 昌图县| 白水县| 原阳县| 德兴市| 格尔木市| 华坪县| 抚顺县| 巫溪县| 佛学| 邵阳县| 江口县| 瑞金市| 洪雅县| 南木林县| 庆城县| 滦平县| 连南| 司法|