2012年3月9日

[Freetalk] 漫談程式設計-I

坎尼自從重回學校之後,寫程式的機會就變少了
但最近在用某些資訊系統時,總覺得怎麼這麼不友善
看來程式魂還是在燒 XD
今天就來舉幾個資訊系統的例子,順便聊一下例子中的問題

I. 資料分類

所有有學過關聯式資料庫設計的人一定都聽過正規化
沒吃過牛肉也要知道瘦肉精,就算不會用也應該會記得1NF、2NF…BCNF …
(不知道正規化有幾階的人請回去找老師或是問維基 資料庫正規化 )

剛好最近用了下面這個XX請修系統
pgs_01

從外表看起來除了 UI 不美觀似乎沒啥大問題
但一打開請修項目:喔喔喔喔喔
pgs_02
幾百個選項一起跳出來,真是令人嘆為觀止
我眼睛也為了找修理項目眼花…

很明顯的,這個請修項目大概只做了第一正規化
坎尼直覺其實可以分為:大類、次類、問題說明 (上圖)
這樣 user 在找的時候可以先選水電類,接著可以找到日光燈,接著再填寫問題
像目前系統做法,日後要是又多了100項
那豈不是要讓下拉選單突破天際瀏覽器邊框了?

當然也有正規化太複雜,導致效能降低的情況,這時候就是要反正規化
但坎尼相信這些資料的量應該還不至於因為正規化而產生瓶頸

當然同頁面的請修地點也有同樣的問題存在
剛好最近又蓋了新宿舍,選單瞬間又加了幾十間房間 orz
pgs_03
 
(1421的同學抱歉啦,如果有看到這篇可以私信給坎尼,再請你們喝飲料)

另外還有個問題,最前面的 610421 很明顯是 primary key 之類的資訊
基本上對使用者是無用的,而且還曝露出自己系統設計原則

設計對白「我是610421的學生,想問幾個問題 (下略)」

除非客服有很好的資訊系統輔助
不然除了通靈之外,鬼才會知道 610421 代表什麼

II. 小結

本來還想多舉個例子的,但篇幅太長就先到這邊
下集待續… (富樫最近都沒休刊,所以坎尼也不能富奸)

沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D