透過 Google 找 Coding How-to 的好範例

我經常在文章發表或講課時說教:不要再花心思去學 How-to 了啦。 如果是對於工作上要用來謀生、不得不熟練的 How-to,那是另當別論;但是對於自我的學習成長、創新能力的發揮,幾乎不會有啥幫助。

"做中學" 的真正意義在於: 做了以後會去思考 "這是什麼?"、 "為什麼" 是這樣子?

尤其是軟體開發人員,總是要去思考,自己的職場生涯,是要往 "重複性的密集量化工作",還是 "知識性的創新設計" 之路來走?

軟體開發人員,太多太多,總是很容易把精力與時間浪費在不必要的地方上。 而且,對自己的成長卻沒啥幫助。

什麼叫作 "浪費在不必要的地方上"?

舉個例子。 上個月有位網友透過 Msn 問了我一個問題: 請問你會不會寫 C# 連結到 ActiveX 元件上?

ActiveX 是什麼? 我也不知道。 我直覺的就回答說:不是透過 MSDN 查一查範例就可以知道的?

那位網友回答說,他有查過,因為微軟已經不支援在 .NET 環境上開發 ActiveX 元件,所以看來,他必須自己要來自己從頭到尾寫 C# 連結 ActiveX 元件了。

姑且不論為何還要使用 ActiveX 元件,看來應該是要 "Re-Use (重用)" 已經寫好的元件吧。 但是,微軟轉移到了 .NET 環境卻不支援 ActiveX 必然會有其原因,可能是 安全性、穩定性與效能等問題。反正,我對其不支援的原因也不會有興趣。

但是,我只知道,那位網友要自行寫 C# 連結 ActiveX 元件這事,根本就是在浪費生命!

這就是典型、違背了不要自行製造輪子 (Don't Reinvent the Wheel) 原則。

當然啦,如果是出於無聊、好玩又好奇 (有商業利益也除外,不過,很難有啦),那還沒話說。 但是,若是為了工作上,對自己能力也不可能有啥提升,那就不要作這種傻事。

不忍心看到這位讀者浪費生命,而且我絕對絕對相信,百分之一百一定有國外網友已經造好 C# 連結 ActiveX 這種輪子了。 所以好心的告訴他,請找我的好朋友 Google,就可以直接找到範例,Copy 一下、一個晚上就能搞定了。

這位網友無奈的告訴我,他有透過 Google 搜尋過,但卻沒有找出所以然。 嗯嗯,看來他還是沒有與 Google 當成好朋友呢。 🙂

所以就只好換我問我的好朋友了。 我一打關鍵字: C# ActiveX Wrap , 就排在前兩筆,馬上就有這位網友要的解答與範例了。

那位網友告訴我,因為他不知道要再加上 "Wrap" 這個關鍵字。

嗯嗯,這就不是回到軟體設計的基礎功夫了嗎? C#.NET 應用程式,要能呼叫老舊 Win-32 的 COM 元件,就必須要先能 "包(Wrap)" 起來。 自然而然, "Wrap" or "Wrapper" 就是一個找 How-to 範例時重要的關鍵字了。

所以,我現在才知道,原來還是有這麼多的網友不知道如何學會與 Google 交好朋友呢。

要能善用 Google 這位好朋友,首先你要學會下對關鍵字。 最好是能熟悉某個領域(如軟體設計)的英文字彙,不要只打中文,因為兩岸的翻譯詞彙不一樣,很容易偏掉; 再來,如何熟悉這些英文字彙? 這這,常在廁所看原文軟體設計書籍或常爬網看原文的技術性論文,日久不就記得了嗎? 😉

※ 延伸參考
 o 哪個時候我會 How-to? 只有在學 How-to 的那個時候!
 o 傷腦筋的 「How-to」 問題
 o 什麼叫 「How-to」?