Google時代的程式撰寫

2021-08-30 09:45:44 字數 1895 閱讀 2426

google時代的程式撰寫

最近愈來愈覺得網路時代的程式撰寫工作變得極端的快速多了。原先想將這個題目訂為「網路時代的程式撰寫」,但稍加想想,似乎少了google 這個威力無窮的搜尋引擎,這樣子的速度提公升又辦不到,故以此題為名。

google 時 代的程式撰寫,在那些面向上能帶來速度的提公升呢?首先是學習的速度的提公升。過去我們接觸新的程式撰寫知識,除了同儕之間的交流外,最主要的途徑還是透過書 籍或是雜誌。可能遇到的問題是,不知道是否能找到自己所關心主題的書籍或雜誌;找到相關的主題後,不知道是否能找到自己所需的專案。有了網路的存在,發表 的型式變得極端簡化,無數的論壇或個人的blog ,充滿著和各種主題相關的文章,而透過google 的搜尋,可以輕易又準確的搜尋到這些散落在世界各地的文章。此外,專門的教學網站也提供各種不同的教學文章與範例程式,都大大的助益了新的技術的學習。例如我常造訪的

就是乙個很好的例子。

再來是錯誤排除的速度也大大的提公升了。最簡單的錯誤形式就是compiler error message ,像microsoft 的ide 時常會給出一些令人難以理解的compiler error message 。而我最常使用的解決方法,就是把message 直接複製丟給google ,通常在前一兩個頁面,就會得到自己想要的解答,因為世界如此之大,你會犯下的錯誤,通常在世界各地的論壇上,往往就會出現解決該問題的答案。除了compiler error 之外,程式或程式庫所得到的各種錯誤程式碼或錯誤情況,直接丟給google ,通常也都會有令人滿意的結果。相較起來,在過去乙個簡單的錯誤,很有可能阻礙程式撰寫十分漫長的時間,在這個過程中,可能充斥著不斷的錯誤嘗試、遍覽群書或偏詢同儕而不可得等等的活動。提公升錯誤排除的時間,自然大大的加快了程式撰寫的腳步。而類似msn messenger 之類通訊軟體的普及,與朋友或夥伴之間建立綿密的人際溝通網路,彼此交換心得或詢問錯誤排除方法的速度也變快許多。

除 了文章的取得變得多樣化又快速之外,另乙個很大的型態轉變,是基於開放原始碼的精神普遍而生的。由於原始碼開放的程度日益普及,網路上散布著解決各種問題 的原始碼。但除了介面定義良好的原始碼程式庫之外,即使是以開放的型式存在,能直接重複利用的程度並不高。但經過適當的拆解與重組,這類的程式碼還是可堪 重用。於是,程式設計師開發的型態,就起了很大的轉變。在過去,程式設計師可能大量的自己重新撰寫所有自己所需要的程式碼,頂多倚靠自己或團體中已經建構良善的程 式庫。但是現在,以隨手可得的程式碼為基礎,許多心力都可以節省下來,但程式設計師需要的技能卻改變了!在過去,也許程式設計師不需要太多讀懂程式碼,拆解程式碼 的能力,但在現在,一名具備良好追蹤原始程式碼、拆解原始程式碼能力的程式設計師,卻極有可能在撰寫速度上勝過撰寫程式碼能力相同的程式設計師。

在過去,對程式設計師的訓練也許不甚重視追蹤原始碼以及拆解原始碼。大家重視的是如何撰寫可讀性高的程式,以及設計出具彈性、重用性高的程式。但在開放原始碼的世界中,有太多的程式不僅可讀性低,而且不具彈性、重用性也不高-往往只是為了專門的需要而hack 。 如果具備了追蹤程式碼的能力,除了可以透過現成的程式碼學習新的技術之外,也可以做為拆解程式碼的基礎設施。而要拆解程式碼的第一步,自然是看懂程式碼, 看懂之外,要進一步判斷那些是自己要的,那些不是,同時評估怎麼調整這些程式碼的架構,可以去除掉自己不要的部份,保留自己要的部份,又毋需對現有程式碼 做過大幅度的更動。

具 備了上述的兩項能力,程式撰寫就不再只像是重新建構,或適度組裝自己已有的元件。而像是找尋和自己所需元件相像的元件,經過適當的理解之後,施以最小幅度 的裁切,將其介面修繕成自己所需的介面,淘汰掉其內容中多餘的組成,最後將重新賦予生命的元件與其他無論是自己既有的,或是同樣**自開放原始碼元件的元 件組裝在一塊,就得到自己想要的東西。

重新思考這整個過程,倘若沒有開放原始碼的幫助,程式設計師得先花上一段時間學習新技術,然後重新撰寫全新的程式,但在這個時代一切可都不同了。

無論是追蹤原始碼或拆解程式碼都需要特別的一套技巧。有時間我想分享一下。但我的確認識一些人,有程式撰寫的老手也有新手,彷彿都有這兩項技巧的天份,這實在是一件很神奇的事情。

Cairngrom Demo程式撰寫心得

執行順序 初始化事件與處理進行繫結元件 c層 初始化與後台互動元件 初始化元件 v層 觸發事件 交給與事件繫結的command處理 如果有與後台等互動,撰寫委派 delegate 進行處理,並將結果返回給command command 講資料繫結到modellocator所定義的屬性中。元件再從mo...

經典面試程式前言 簡歷的撰寫

1 如何讓你的簡歷獲得獵頭公司的青睞?獵頭公司或者人事部門通常只會在每份簡歷上停留20秒鐘,並在這短短的20秒鐘內,決定你的簡歷是否是繼續交給技術經理,由技術經理或者招聘經理決定是否開啟面試流程,因此,乙份有吸引力的簡歷是你入職的敲門磚。首先咱們看看美國的矽谷公司是怎麼閱讀簡歷的吧!15 如果簡歷中...

使用Socket撰寫郵件傳送程式

首先,我們簡單介紹一下帶驗證的 tp伺服器如何使用auth原語進行身份驗證,其詳細的定義可以參考rfc2554。具體如下 1 首先,需要使用ehlo而不是原先的helo。2 ehlo成功以後,客戶端需要傳送auth原語,與伺服器就認證時使用者名稱和密碼的傳遞方式進行協商。3 如果協商成功,伺服器會返...