Knowledge Gained by The Law of Leaky Abstractions

在讀完揭露冰山般的秘密之後,ㄚ琪要繼續讀抽象滲漏法則,說真的,讀到目前為止,約耳所分享的事情,ㄚ琪都正在面臨或已經面臨過了,難怪他的書會暢銷,今天要講得抽象機制,在我幫公司寫越來越多的程式模組,用越來越多的免費套件,很多人都覺得就是把套件像積木這樣組來組去,就可以做很多貌似不可能完成的事了,看起來沒什麼問題,其實這也還是冰山的一角而已,呵呵。

其實我就常碰到抽象滲漏法則,『所有重大的抽象機制在某種程式上都是有漏洞的』。

約耳有舉一些例子,不過我不想重述,讀完的我是有點下巴快掉下來的感覺,我用太多的抽象機制,但是我卻不清楚這些抽象機制裡的內幕。

『抽象滲漏法則表示,當某人發明一套神奇的新程式產生工具,可以大幅提升效率等等,就會聽到很多人說:「應該先學會如何手動進行,然後才用這個神奇的工具來節省時間。」 程式產生工具假裝抽象掉某些東西,和其他所有抽象機制一樣都有漏洞,而唯一能適當處理漏洞的方法,就是弄懂該抽象原理以及所隱藏的東西。所以抽象機制雖然替我們節省了工作的時間,不過學習的時間是省不掉的。』我曾經利用phpMyAdmin的程式架構來建構我的商業應用程式,因為我覺得這個免費程式真是太棒了,但是當我碰到問題時,我被卡住的時候,我不得不把phpMyAdmin的程式,一行一行拆開來分析研讀,好在我跨過了這個瓶頸,那時之後我幾乎可以對PHP應用自如了。但是像是GTK這個旁大的抽象機制,你如果直接用,那會是很方便用來建立GUI沒錯,但是在沒搞懂它的內部機制情況下,現在的我正在如履薄冰啊!

『抽象滲漏法則正在拖垮我們。』我的GTK使用會是這樣的結果嗎?我還在撐撐看!

學VB的人也得小心落到『因為當VB的抽象機制滲漏時他們會完全卡住』的困境。

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *