Logo

Takol Living Here

生活的模式 Takol | 分類:家常閒談 | 2015-05-06 01:25:46

我寫程式時多半以目標導向為先,不管程式碼優美好壞,能捉到老鼠的就是好貓。這二十年來逐漸演變如此,反倒符合近年來提倡的敏捷式開發(Agile Development)特性,不講究過多的分析與設計,儘早提出先期版本讓客戶過目,據此修正需求與程式功能,反覆進行,導正路線方向。我非電腦資訊本科,不懂這些繁如牛毛的專有名詞,也非刻意如此經營,不過照著本性走,走著走著就自然走到主流名詞中。

寫程式時,如果發現另外一處有雷同先前做過的功能需求,我會先採用複製貼上的方式,將前面的程式碼重複利用。第二次發現它處有類似需求,我仍會再次複製貼上。但當第三次發現有重複功能發生時,我就會視時間允許程度研判,儘可能將這個重複了第四次的功能包裹成為一個「模組」,以利後續再有相同功能需求發生時,得能直接引用。

之所以我要等到第四次需求發生時才包裹模組,是因為,前兩次重複的需求不代表後續還會有需求發生,尤其兩三次的需求,難以觀察固定的功能模式。就算能以模組包裝,也不容易察覺例外狀況。

一個好的模組設計,除了要能夠提供相同的功能,也要懂得如何將例外排除,或另行包裝模組,或侷限本模組工作範疇。總之未達足夠的範本數量,勉強進行模組設計多半會落入削足適履,或小狗走大洞的窘境。有了三個參考範本,代表相同的功能需求有三處地方需要重複套用,開發模組的「價值」跨過最低門檻,投入時間研發,先不論後續再有機會得能直接引用的優點,光是事後維護模組程式,一次性修正共同邏輯問題所帶來的好處,就值得了。

還有,開發這類的共用模組,得要有相當程式功力才行,找到某類行為模式,或用遞迴,或用虛擬定址,總之磨練多年的電腦程式知識,只有在此類模組中才看得到高下。好不容易搞出一個模組,能夠讓工作團隊同仁套用,減輕工作負擔,減少臭蟲數量,心中的成就感非凡這才開懷,所以能夠鎮日掛著耳機坐在電腦螢幕前低頭鑽營,也不抱怨。

回到本題,由於寫程式時習於尋找「模式」,逐漸地在生活中亦如是,似乎亂成一套的日子很不優美,無法倚靠,試圖在紛亂的各樣情境中找到模式,這才發覺,硬要要求整個社會遵循你找到的模式前行那是不可能的,某些宗教,某些社團,甚或某些國家,以為自己的模式是正道,於是強加套用至他人,卻帶來更多紛亂,更無法找到模式的優美處了。

那麼該是如何的「模式」才能安撫自己,又不影響到他人才好呢?我以為「自省」該是其一。

若論「道德」、「禮貌」,其中帶有太多不同文化習俗的差異。你以為該當如此握手才是禮貌,不定在某個亞馬遜部落中代表了宣戰與挑釁。因此,常常自省,有無自身不正處,是否對他人不利,替他人設身處地著想發覺本心,即便處於多變的新世代中,亦當足夠。

20歲時血氣方剛,覺得天下為我而設,前方雖然混沌,只要劍戟指向處,無路不可開。30歲時知道了事無不可為,卻也無不可不為的道理,於是憤世嫉俗,恨老一輩的擋住了路,身居要職竟然不知改進。知曉了一些社會生存的「模式」,於是開始設計開發共同模組(脾氣)套用至生活,但還不懂得有何與該當如何排除例外狀況,於是這個模組(脾氣)是否成功純粹碰運氣,模組適當的順遂發展,模組設計不良的四處碰壁,脾氣愈發不可收拾。

直到過了40歲,有了家小,往前衝的同時得要開始顧忌退路,加上更替工作與朋友幾多,知道了模組中的例外該怎麼避開,此時雖然仍有模組不佳的窘境,但畢竟經驗較多,遇事趕緊另作模組套用,仍有錯誤狀況就用「若...則...或...」硬公式臨時加掛,打得過就打,打不過就逃,如此而已。

留下你的回應
請問 柒 加上 肆 的阿拉伯數字答案是多少?
最近發表的文章
最近的回應留言

Takol Living Here @ 2017