在軟體開發、寫程式這個領域中,特別是那些剛入行的小菜鳥,特別喜歡問這種問題:「大大們寫程式會 Google 嗎?」、「大神們 %%% 打鍵盤寫程式時會上網找資料嗎?」
Yes,答案是十分肯定的,就算是經驗老到的程式設計師,Google 也是他們最好的朋友。
- 查詢資料,而不是盲目的複製貼上
換句話說,正確地使用 Google 並不會讓你變成比較爛的程式設計師,盲目地複製貼上才會。事實上,Google 可以說是程式設計師的基本工具,每個人都必須知道要如何使用它。
對程式設計師來說,使用 Google 的其中一個理由,是你沒有辦法記住全部的細節,特別是你使用一個以上的語言與框架。
就像愛因斯坦說的:
不要去記那些查就有的東西。“Never memorize something that you can look up.”
除此之外,好的程式設計師們也知道,他們不是世界上第一個遇到某個問題的人。他們使用 Google 搜尋,運用適當的關鍵字搜尋,來找尋一切可能的解答,並小心地評估這個解答,從中找出真正有用的內容。
而有些專家級的程式設計師則非常多疑,他們不斷地自我懷疑並質疑自己的程式碼,當他們這類型的症狀開始發作時,他們會使用 Google 來證明自己是正確的。
- Google 一次我可以寫 10 行程式碼
我應該勉強算是個有經驗的程式設計師,最近,我必須用 Netty 基於 Java 的框架來寫個網站功能,我從來沒有使用過 Netty ,以下是我的 Google 搜尋紀錄:
1. netty tutorial 2. netty maven dependency 3. netty bytebuf to string 4. netty bytebuf release 5. netty 4 changes 6. setOption(“child.bufferFactory") netty 4 7.ByteBuf netty 8. opensource projects using netty framework 9. netty 4 examples 10.netty 4 adding json encoder 11. netty channel pipeline 12. netty 4 messagetomessage encoder 13. netty serverbootstrap childhandler 14. ByteBuf netty 15. lengthfieldbasedframedecoder netty 4 16. netty 4 client examples 17.netty 4 bytebuf to bytebuffer 18. netty 4 endianness 19. netty channelhandlercontext 20. netty channelhandlercontext thread safe 21. netty user authentication 22. netty heartbeat handling 23. load test netty with 10k concurrent sockets
最後,我寫了 255 行程式碼,包含一個可以運作的服務與客戶端。我總共搜尋了 Google 23 次,資料大多來自 StackOverflow、Netty 4 website、GitHub 以及 JavaDocs。如果你的數學老師沒有請假,你可以算出,平均 Google 一次我大概可以寫 10 行程式碼。
所以,各位工程師,在椅子上坐好坐滿,並跟著我默念,Google 就是我們最好的朋友。
(資料來源:Code Ahoy;圖片來源:Toomore Chiang。未經同意請勿轉載,合作夥伴不在此限。)
- 延伸閱讀
【寫 Code 不能抄嗎】說到寫程式,誰不是在 Stack Overflow 上剪剪貼貼?