顯示具有 寫程式的碎碎唸 標籤的文章。 顯示所有文章
顯示具有 寫程式的碎碎唸 標籤的文章。 顯示所有文章

2008年7月27日 星期日

昨天,今天,明天

小時候,我媽是個銀行會計襄理
工作的銀行後門就有個幼稚園
平時就把我寄放在那,下班後就一起回家

因為古時電腦不發達,銀行少,業務相對多
傳票支票現金疊的滿滿跟山一樣,常常都要忙到六點多才能回家,
所有人都一樣

每天放學到下班中間
一個小鬼在銀行裡面活蹦亂跳

「媽咪~~偶功課寫完了 -w-//」
「乖~拿這邊的白紙去畫畫,不要吵摟」
於是我拿了一堆印壞報表紙畫無敵鐵金剛

「媽咪~~偶肚子餓了 >o< ... 」
「乖~這裡有10塊先去買麵包吃,不要吵摟」
於是我買了四個小餐包,吃的渣掉滿地

「媽咪~~好無聊想回家睡覺了 zzz ... 」
「乖~先去後面趴著回家在叫你,不要吵摟」
於是不知誰的辦公桌被我沾滿口水

沒錯,是每天



連帶童年也分非常的銀行文化

那時不過六歲,我知道傳票跟支票的差別(因為叔叔都叫我幫忙拿)
那時不過六歲,我知道什麼叫會計年度(因為那天都好晚才能回家)
那時不過六歲,我知道開關金庫的方法(因為關好門才能回家)
那時不過六歲,我知道哪些數字容易混淆,比方說:17,06 (因為阿姨都叫我幫忙抓)
那時不過六歲,我知道會計襄理的章要蓋在支票的哪格(因為我媽蓋不完叫我幫忙蓋)

幼小的記憶真是好蠢,是吧
但我相信不只我一個


===============================


歲月不饒人,今天,銀行滿街而立,科技進步,網路發達,
每個行員加班都是推業務,
誰還對帳?誰還對傳票?誰還戴眼鏡仔細看17跟06?

我以為不會有這種故事了,那只是個時代的悲劇

直到我看到XX軟體公司的一個精美桌上月曆,
每個月份都有一幅員工子女畫的圖,還有寫給父母的話

爸爸都很晚回家/媽媽在家還工作/一星期見不到幾次面/假日都沒辦法帶我出去玩
1-12月都差不多內容

我驚覺,故事不過換個地點罷了
而且內容更加驚心動魄,
只慶幸,演員數目少了一點點


=============================


最近有個在軟體公司上班的朋友離職了,
每天工作超過14小時,程式一改再改,CMMI也只是助纣為
舊的人一直跑,新人一直補,整間公司不知道再幹麻...

罄竹難書

跟他聊天的時候又回憶到此事

我把故事說給他聽,再一直感謝他的英勇奮鬥
「時代考驗青年,青年創造時代」這種都出來了


「放屁!」他只回我兩個字


=============================


很多人跟我說,寫程式的宿命就是這樣,加不完的班,改不完的Code
(如果還加上補不完的文件...)

如果有時光機回到20年前,你跟我講會計年度結帳那天能準時回家
六歲的我會笑你不懂

所以我不相信宿命之類的,既然電腦能改變別人人生,為何不能改變我們自己的?

看看每個新技術背後,不都是想多擺脫一些這種"宿命"?
看看每個方法論背後,不都是想多解脫一些這種"包袱"?
[Mythical Man-Month][Peopleware]兩本書加起來都50年了

沒有銀彈,還是要尋找,最少我們有好幾顆銅彈了

或許有天我發覺我自己也是被宿命玩弄,
也許有一天我會很累想放棄,
但是不在此時,不在此地

2008年7月15日 星期二

火箭說明(Retro-specification)

火箭說明(Retro-specification):

在項目已經啟動之後才開始寫技術、功能說明

By wiki

白話一點就是先寫程式才後生文件

不過其實英文原文(Retro)字義並不是要講火箭,而是只另外一個"倒退";"追溯"的意思
但是我很喜歡
因為這種文件通常跟火箭一樣看起來很炫,但是實用價值很低

我不太會寫文件,
但是我知道不是跟Code一起或是早一步出來的文件,基本上都沒參考價值
(逆向工程不算)

好的文件通常說明「人類做什麼」,是表達人的心智模型
大部分的都是火箭說明都變成在說明「電腦做什麼」,是參考程式碼
所以說我不看文件
,直接程式碼一行行看搞不好更快能弄懂程式再寫什麼

現在很多大公司都搶著通過什麼CMMI,ISO之類的東西
讓我想到國中歷史課教的滿清末年的自強運動
改革只學外人船堅砲利,而不是其思想文化
最後結果大家都知道是失敗收場

我許多同學的公司都有通過,
在下資歷尚淺,不敢妄談成功失敗
但是就我聽到的而言,沒半個有學其精神

歷史老師都會說要記取歷史的教訓
諷刺的是,歷史的教訓告訴我們歷史只會一再重複

對寫程式的人而言,
文件的目的在於能節省了解或撰寫系統的時間,而不是浪費更多

2008年7月2日 星期三

別說你忘了他

「這段程式在寫什麼?」

「我忘了,要Trace一下看看...」

這段故事有沒有很熟悉?
上一次出現這台詞的時候,你是問的人還是答的人?
還是自問自答?

人類本來就很健忘,所以應該無時無刻留下提醒自己的紀錄
文字也好,uml也好,註解也好,便利貼也好,
總比看一行行的神秘符號來的好

剛開始工作時,我也沒寫註解的習慣,
仗勢自己的小聰明,只管Code能Run就好,管他啥註解跟文件的
不過久了後,覺得老是自己在整自己,昨日之我永遠比今天之我還聰明

試著寫一點註解以後,才發現這樣以後看起Code來快多了
我才了解到,與其浪費生命在Trace火星文,到不如多花時間留下點記憶

有些人會說,註解/文件寫的濫的要死,有跟沒有還不是一樣
不過我覺得這是做與不做的問題,而不是好跟不好的問題
註解/文件寫的好是一種藝術,那需要很多的經驗跟天份
但是,有或沒有是一種態度,程式人該有的責任

為自己的程式負責,能動的不代表完成