本篇主旨在抱怨,不喜請略過。

剛剛同事跑來跟我說話:

同事:「你那個程式根本不能用嘛,iconv 那麼大,怎麼用?」

我:「要跨平台解決 encoding/unicode 的問題,不用 iconv 會很累。」

同事:「這平台根本沒 unicode,你綁那麼大的一個 iconv 根本沒辦法用啊!」

我:「...」

啃~誰理你那個鳥平台啊?那是不是哪天又碰到一個平台沒 <stdio.h> 的,所有大家寫的 libraries 就都不准用 sprintf()[1]

做任何事都應該要有個限度,如果超過了,那就不好了。寫程式開發軟體也是一樣,應該要先有個基本的共識,決定好「底線」在哪裡。就好像功能不能任由 sales 無限飆高一樣,作為程式基礎的底層平台,也應該在經過取捨之後,做好清楚的定義,不再隨意地更動。

這篇剛好也可以用來回應 nekobe 的這篇《能夠當人, 誰還要來寫程式?》,我承認,我必須這樣亂搞的時候,都會在註解裡加上 TODO 的字樣。唉,亂搞的原因千百種,也許時程上來不及,也許是政治的因素[2],也許是奇蒙子的因素,也許是道德上的考量[3],也或許,原始的需求根本沒有這一項……

如果能夠被當個人看,那寫程式時會快樂一些。


  1. 這個倒蠻常見的。:-p
  2. E.g. 微軟派 vs. 開放原始碼派。
  3. 因為沒有達到「Open Source 軟體應該 release soon, release often」的要求,而被認定是白爛,以致於後來對人不對事地繼續窮追猛打,這種種的現象,讓人不禁體會到,LifeType 開發者的