網站製作學習誌

記錄學習製作網站的一切

我的噗浪語錄(二) – 開發篇

  • 用別人開發的程式最怕對它一知半解,用自己開發的程式最怕考慮不周。
  • 想知道自己是否真正瞭解了一個程式語言,那就試試看重構自己以前寫的程式碼。
  • 大師能在一小時之內看穿某項技術的本質,高手大概只需一天,有經驗的人可能要到一週,平凡如我就得花上一年了。
  • 真正優秀的工程師都是懶惰的,所以他們才會勤勞地在短短幾個小時之內專心找出最俐落的解決方法,來換取不加班的休閒時間。
  • 好的工具讓不熟悉它的人使用時,就無法發揮它的功效,同時也會讓大家對這個工具產生誤解。
  • 熟悉的工具總是比新穎的技術好用,但也往往因為如此而限制了我們的創意。
  • 好的 Framework 是幫開發者解決問題,而不是為他們製造問題。
  • 且戰且走又不重構的程式就像路邊的一坨大便,臭味沖天!
  • 如果把程式碼分五級,那麼…等級一的程式碼要能對得起自己的良心;等級二的程式碼則不能考驗測試人員的耐心;等級三的程式碼要能得到上頭的歡心;等級四的程式碼要獲得客戶的信心;等級五的程式碼要能受到其他開發者的關心。
  • 掌握了測試的精髓,就決定了程式的生命。
  • 老闆的態度決定程式碼的長度。
  • 當知道的、可以用的方法越多時,我們就更難找出完美的解決方案。
  • 為了效能,我們把 code 全擠在一起;為了維護,我們又把 code 拆開分離;在程式之道中,直行與叉路分分合合,而我們能選擇的只有前進而已。
  • 重構最大的問題不是不知道怎麼重構,而是不知道該什麼時候重構,還有什麼時候該停止重構。
  • 不斷撰寫程式,逐漸矯正觀念,直到我們將它們當作空氣一般自然而忘卻時,就已經體悟程式之道了。
  • 考慮得多,補強的程式碼也多,相對地 Bug 卻也越多。
  • 再完美的系統,都避不掉「使用者」這個最大的 bug 。
  • 是優點的未必不是缺點,是缺點的也難說不是優點;程式之道,在於是否適切於己。
  • 使用者一直期待著系統夠聰明,但工程師卻總是期待使用者不要那麼笨。
  • 拼湊而不重構而且想到哪就寫到哪的程式碼,終究會像流沙一樣,把工程師拖入永無止盡的除錯地獄裡。
  • 有時候簡單的介面才容易讓我們得到需要的資訊,用華麗的外表過度包裝只會讓人容易迷失而已。
  • 要思考每個 code snippet 的含義,不要只是把它們照抄放到程式裡面,而是要將它們的思想內化到自己的程式之道中。
  • 成為高手的途徑:先要認識身邊的高手,然後模仿他們的作法,並且瞭解他們的思維,接著超越他們的成就,最後習得他們的謙卑。
  • 不要被技術的糖衣所吸引而冒然吞下它,要剖開它並仔細研究裡面到底包了什麼。
  • 怕別人看光你的程式碼前,先問自己:我的程式碼別人看不看得懂。
  • 不要相信客戶舊資料庫裡存放的資料,也不要相信客戶舊系統所產生的資料;因為如果它們是正確的,就不需要你來改版了。
  • 在你剛接觸模式之前,別特意去模仿它們;在你弄懂模式之後,別時時想使用它們;而當你完全瞭解模式之時,將會發現模式早就存在於你的系統裡了。
  • RC 版跟正式 Release 版本的程式碼不可有太大的差異,否則就應該再進入一次 RC 才可以。
  • 有 Bug 才有生命…我是指程式。
  • Design Patterns 本來就不是能讓你馬上使用的解決方案;執著在它的形上面,只會讓你看不清你真正要解決的問題。
  • 要思考模式的意,別執著模式的形。
  • "First make it work, then make it right, then make it fast." - by Kent Beck
  • 所謂的零錯誤程式,就是指沒人用的程式。
  • 身為一個優秀的 PHP 開發者,不該忽略任何警告訊息。
  • 所謂的高手不是指一開始就寫出完美程式的人,而是懂得如何時時刻刻修正自己的人。
  • 真正的高手不會一味追求新工具,而是瞭解並善用自己現在用的工具,直到他認為舊工具侷限了他的思維。
  • 重構就像整理身邊的環境,多數的軟體工程師都希望能在乾淨的辦公室裡寫程式,但是這樣的環境得要自己維護好才行。
  • 複製不過二,三則重構之。
  • 沒有效率的程式寫法,單靠增加機器也是彌補不來的。
  • 好的設計不是一朝一夕,而是經驗的累積。
  • 在台灣,『專業』是『廉價』的代名詞。
  • 先別去想在程式的設計過程裡可以用到哪種 Pattern ,那通常不準;只有在實際的重構過程中,才會知道能用哪個 Pattern 。
  • 當你被技術的形所迷惑時,就見不到它背後的真義了。
  • 程式開發就像下山一樣,你可以選擇從階梯穩健踏實地往下步行,也許會有點麻煩也慢了一些;或是你也可以選擇從懸崖毅然決然地縱身一跳,則會非常輕鬆也快了很多…不過死得也滿快的就是。
  • 好的軟體開發者不只是在堆積程式碼,而是把他的靈魂注入其中。
  • Interface 的一致性可以讓系統的轉移更順暢。
  • 開發一個功能時,不要把顯示和運算混雜在一起…分開它們,測試它們,再組合它們。
  • 開發不守規範,程式必定會亂;程式不寫測試,上線肯定會死。
  • 片斷而不求甚解的知識只會做出勉強能動的拼裝程式碼…而你永遠不知道它何時會爆炸。
  • MVC 口訣: Controller 知道有 View 和 Model , View 也知道有 Controller 和 Model ,但 Model 誰都不知道。
  • 大師的思維,我們必須靠無數次的實踐才能體會,因為大師也是這麼悟道的…

Comments