作者MOONRAKER (㊣八點了!全體集合!)
看板Visual_Basic
標題Re: [VB6 ] 結構化
時間Mon Jun 15 02:39:41 2009
: ◆ From: 123.195.194.110
: 推 rushcat:寫個sub包... 06/14 23:47
: 推 Peruheru:與其這樣,寫個字串陣列不是更容易嗎? 06/15 00:21
把通用訊息摘出來的方法很正確,但是實行上還是有一些有趣處-所謂「有
趣」就是說不擋路的時候很有趣,其他時候則很可恨。
會注意到這個問題是因為我不久以前修改到一個網站的套件,當然不是VB的
但是當中的經驗我想是共通的。
第一個套件是某個歐洲人寫的,
不曉得他是德國還是哪裡人,總之他套件裡面的共用訊息變數就全都是看不
懂的名字。每個字母都看得懂,合在一起,除了"JA" "NEIN" 這種一個字的
單字之外,全都看不懂。
第二個套件更鮮,那是某個俄國人寫的
可能為了避免以上那種語言的困擾吧,於是他所有的訊息變數都命名成這樣
SHOWCASE_0109 = "Buy"
SHOWCASE_0110 = "By credit card"
SHOWCASE_0111 = "Automatically close ...
...
幸好他放出來的時候是英文版,否則根本改不動。而且這樣比上面那種還要
糟糕,因為第一是除非有保留好原版語言檔,否則有沒有改錯根本不知道;
第二是因為我也只看得懂英文版,所以信賴它,但是英文版翻過來的時候真
的有翻對嗎?第三是如果修改的時候手誤,打錯一個數字,就無從校對起。
所以,如果要把訊息集中管理,那我會建議這樣的方式
const MESG_FILE_INEXIST = "檔案不存在"
const MESG_FILE_CANTOPEN = "檔案無法打開"
...
雖然還有英文這一重語言障礙,但這基本上是不能消滅的,起碼自己也能看
懂。
或者這樣
function mesg(mesgselector as string)
select case mesgselector
case "file_inexist"
mesg = "檔案不存在"
case "file_cantopen"
mesg = "檔案無法打開"
...
end select
end function
再不然搞個directory來存,可以活用物件,大概是最好的方法。
但是如果這樣
mesg(1) = "檔案不存在"
mesg(2) = "檔案無法打開"
...
那就會發生跟那個俄國模組一樣的問題。這不但很整人,自已日後也不容易
維護。
--
Google 關鍵字 : MPFC-TCP / 殺人笑話 / 包租婆也有過當羅莉的時候
Youtube關鍵字 : 脫衫脫褲 / 傻蛋奧運 / 宗教審訊 / 買張床 / 單車超人 / 謳歌金錢
*美髮師登山隊 http://tinyurl.com/dm6lh3 *Ypres 1914 http://tinyurl.com/b432jb
[蒙帝派松正體中文計畫] http://www.youtube.com/user/JamesBondXD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.232.97.205
推 Peruheru:原來如此,我眼界太小了,我只想到可以使用編碼代表狀況 06/15 18:53
→ Peruheru:有點像404就顯示第[404]個錯誤內容是[找不到網頁]的感覺 06/15 18:54
→ Peruheru:不過光靠數字的確會不容易讀懂 06/15 18:54