在筆者開發的系統當中,有部分的系統是新系統,另外的系統是用以取代現時運作當中的系統,對於後者,在新系統完全取代現時系統之前,新舊系統須要同時運作,到新系統經過測試無誤,並所有用戶都能過度到新系統時,舊系統才能正式退役。在新舊系統交接的過程中,通常新舊系統都能處理用戶的操作要求,而軟件開發商須要同時建立系統讓兩個系統互換數據,有時更要為支援舊系統而令新系統作出某些改動,這些支援舊系統的工序便成為了開發新系統的額外支出。

作為開發軟件的程式員,大都期望所開發的軟件是全新的,主要原因是如果已有現正運作的系統,從軟件開發公司的角度來看,為了節省開發軟件的時間和人力物力,他們都希望能盡量善用現有的程式碼來開發新版本的軟件,例如參考現時的系統和程式碼來理解所需軟件的運作,甚至修改現有的程式碼來開發新軟件的程式碼,這樣,程式員便必須研究並理解現有的軟件和程式碼。不同的程式員有不同的編程技巧和風格,所以程式員研究別人的軟件所花的時間,可能比自己編程所花的時間更多,另外,現有的程式碼亦限制了程式員編寫新軟件程式碼的空間,令程式員不能自由的開發。從另一個角度來看,如果程式員所研究的程式碼是由一些有經驗的程式員所編寫,研究他們的程式碼可以學習他們的編程技巧,獲益良多。

程式員須要研究現有程式碼,結筆者的啟示是,過去編寫的程式碼,便好像我們人生過去的歷史,影響著今天的自己,我們必須對自己曾經相遇的人和事負責,為此,亦影響了我們今天的決定,某些情況下,的確成為了我們今天的歷史包袱。也許便是為了逃避為過去負責或被過去影響,在很多電影或劇集的故事中,很多角色便選擇了一走了之,重新在一個新天地過新生活。

至於研究資深程式員的程式碼,便好像我們去研究一些名人的生平,從他們的事跡當中學習他們的思考、處事和待人接物的方法,從中,我們必有得著,有所領會,從而重新思考我們自己的人生和做事的方法。

自己的歷史,可能是個包袱,別人的歷史,卻可以用來借鏡。

 

版權所有©2013 創動力媒體 Dynamix