close

 

 

 

前言:

  工作一陣子了,內容姑且不論,光是形式,就和學生時代有很大的不同。

  對我而言,最大的差別是:「與別人合作」的頻率大幅增加。

  學生時代的程式作業,即使是小組,頂多是三、四個組員分工了事,而且內容各自獨立,各人造業各人擔。上班則是,一大堆人做同一個專案,每人負責一個功能,功能間可能交互影響、產生新的問題。必須互相包容、互相揪錯。

  這陣子下來,覺得……找自己的盲點難,找別人的盲點,也很難。

  (我也產生過很多很無言的錯誤,感謝同事包容)

  只能說大家腦迴路不同,遇到很多bug,有基本款,也有刁鑽古怪的。

  便想了一些因應措施,就來記錄一下吧。

 

---

 

  (一) 熟悉使用的工具軟體(尤其是debug功能)

      看起來挺廢話的,但請捫心自問:

      你真的很了解你用的工具(複數)嗎?

      很多時候,人都會懶惰,覺得只要能把東西做出來就好,而沒想過有沒有更好、更快、更方便、更嚴謹的方法。

      ……這種方法,往往是存在的。

      你遇到的問題,肯定也有其它受害者,軟體公司可能已經預料到,而做出對應解法。

      只需要你動一動手指,看一下工具軟體的說明書,

      或是用關鍵字google,或是去論壇發問。
      
      
      這就像……用一把力量被封印的神劍,打倒史萊姆。

      雖然史萊姆已經陣亡,但為了未來著想(誰知道下一個敵人有多強大?)還是要把封印解除、發揮神劍百分百的威力。

      大概是這樣。

 


  (二) 勤於備份「環境」

      可說是使用 Windows 的必要動作。

      自從官方停止支援 XP 的安全性更新之後,可用環境就剩下 Win7/8/10 三種版本。

      ……然而,算上後續的安全性更新、Hotfix、Driver,可產生各種排列組合。

      真的很麻煩。

      尤其是和OS/權限/driver相關的功能,有時更新到最新版,反而不能用。

      (然而基於安全考量,安全性更新還是盡量裝吧)

      如果像我一樣不太看安全性更新的內容,最保險方法,就是將可以跑的環境,完整備份到另一個硬碟,以便日後還原。

      最好寫個筆記,記下自己裝了什麼、做了什麼。

      同理,瀏覽器、編譯器等軟體的版本更新,也是類似,找個穩定版備份。

      搞環境真的太花時間,一次就夠了,日後就靠備份吧。

      附帶一提,最好趁著硬碟「全盛時期」備份,如果這顆硬碟已經動不動就藍屏、關機關不掉什麼的,就算了吧。

 


  (三) 高度懷疑自己與他人

      在多人合作的場合,遇到一個bug,責任歸屬很複雜。

      原因可能來自:環境的錯,自己的錯,別人的錯,或是自己與別人的流程分開跑都是正常的,同時跑就衝突了。

      內心一定要對自己與他人保持「同樣高度的懷疑」。

      性格自信的人會覺得都別人錯,性格謙虛的人會覺得都自己錯。

      其實「是誰的錯」不重要,只要能盡快找出原因,解決掉就好。

      最快的方法,就是找人討論,清楚表達情況,將嫌疑人(包括自己)齊聚一堂,對著屍體一起推理。

      也許有人糾結面子問題,但只要態度得體,就是同事間的愉快合作、互相學習、友好交流。      
      如果真拉不下臉,或是同事都很忙,也是有保險作法(較花時間)。

      就是幫測。

      別人上傳的檔案,載下來後,先別急著加上自己的更改,而是:

      幫他測試。

      尤其是,測試內容牽涉到環境因素(比如軟硬體版本、線路老舊、電磁干擾)或隨機因素(用到rand),就有可能出現「別人跑得過,就你跑不過」的情況。

      ……這就是,被全宇宙聯合起來衝康的感覺吧。

      為了避免被衝康,就用自己環境幫他測試。

      出了錯,就叫他來解決,手一攤說:「沒辦法,誰叫我環境比較刻苦呢?」

      邪惡(保險)一點,可以添加極端測項,比如,讓變數overflow或underflow;刻意踩記憶體邊界;或是一個連續的流程,故意手動中斷(模仿隨機延遲),再繼續,看是否能順利進行。

      諸如此類的,請不必保留,盡情發揮創意吧!

      一方面能提升程式的嚴謹度,另一方面,可保自身權益,省下debug時間!

 

---    

 

  這篇只寫三條,已經超過兩千字,就先這樣了。

  會成為一個每篇兩千字左右,常常更新的系列。

  (馬的我初稿列了十一條)


  因為bug是生不完的,思考的盲區,是掃不乾淨的。

  一個人能產生很多bug,多人合作,解決了一些,但能產生更多更多bug!

  更別說還有一堆鬼因素,火上澆油。

  簡直是在錯誤的汪洋裡,孤舟漂流。

  風暴、雷雨、驚淘駭浪。

  即使如此……

  還是要一腳踏上船頭,食指朝前,(含淚)大喊:

  「讓我們前進吧!」

 

 

arrow
arrow
    文章標籤
    程式 職場
    全站熱搜

    卡滋里滋多里多滋 發表在 痞客邦 留言(0) 人氣()