2008年2月20日 星期三

豬頭經理

以下故事不是在探討資訊技術的問題
而是去省思, 怎麼樣才可以幹上經理?

今天一個在管資料庫的朋友問我一個問題
就是假設他的資料庫有個欄位, 最大儲存長度假設是2個字元
然後使用者輸入5個字元, 按下儲存按鈕後
會因為資料超過欄位最大長度而發生錯誤
他問我 Oracle 有沒有什麼 Function 可以把超過2個字元的部份截斷
就只儲存前2個字元....

答案當然是有
Oracle 是有提供一些字串處理函數來做這種事
但我很好奇的是 "為什麼要這樣做?"
朋友說 "因為他們覺得要在程式, 寫這些長度判斷, 很麻煩"
"乾脆就在儲存資料時, 直接把超過長度的資料截掉, 就不會爆錯了"
我心想 "拷....真是不可思議的想法, 是哪個天才想的?"
"是你們的 Developer 這樣跟你要求的嗎?" 我問
"對呀, 還是一個經理!!" 朋友回答
"在你們公司, 經理應該都是超高學歷的吧?" 我想再確認這想法真出自一個經理之口嗎....
"是呀, 但學歷好有什麼用?!" 朋友憤憤不平地說

基本上, 這種做法實在是太蠢了
我叫我朋友去問他們經理
"如果使用者輸入了一串 Simon is handsome 的資料, 使用者也不知道欄位只能存放2個字元"
"按下儲存後, 系統也回應儲存完成"
"下次使用者調出資料後, 發現資料卻只剩 Si 兩個字元的話, 使用者可以接受嗎?"

而且, 就算使用者這樣可以接受(真是仁慈的使用者)
你豈不是要在儲存資料時, 在所有的欄位上都套用截斷字串的函數?
這麼做, 還真是把 CPU 資源用到極致呢!!
朋友說 "OK, 我去說服那個經理"
我說 "你又欠我一頓飯了...."

這種情況呢, 就是在設計時
都沒有站在使用者的角度去思考, 純粹以技術層面來思考
犯了開發系統的大忌啊!!

沒有留言: