有些事情真的不吐不快
特別是當我發現程式越寫越錯
莫名其妙的例外越來越多
連Maya都開始整我的時候
一開始我以為可以在半小時內解決的事情
在我高高興興發現 maya 的 namespace 這個指令
可以幫我移動整個 namespace 下的物件
惡夢就開始了
舉例來說 namespace 就像圖書館的分類標記一樣
可以幫助把 maya 裡的物件分類,方便管理
現在假設 maya 裡面有 A, B, C 三個 namespace
namespace -f -mv A C
以上這個指令就可以把 A 底下的所有物件移到 C 底下
這是一件多麼簡單的事情啊~
於是我的程式就像這樣
namespace -f -mv $YG C
$YG 是一個變數,代表我每次經由某些條件所抓到的 namespace 名稱
但只要我一執行到這行Maya就不高興了
每次都噴錯誤訊息告訴我 C 這個 namespace 不存在
大概像這樣 // Error: namespace C does not exist
無論我用盡各種方法確認 C 是存在的,maya 就是當作沒看見
就在我痛苦掙扎將近一個小時之後
我想到一個不願相信的可能性,於是我做了以下的實驗
假設我百分之三百確定 A, B, C 存在,D, E, F 不存在
namespace -f -mv A C
// OK, No problem
namespace -f -mv A D
// Error: namespace D does not exist
namespace -f -mv D C
// Error: namespace C does not exist
namespace -f -mv E C
// Error: namespace C does not exist
namespace -f -mv F C
// Error: namespace C does not exist
...... 真相大白了
不管是哪一個 namespace 不存在,maya 都只會說後面那個不存在
(OS:這是在搞笑嗎? Autodesk的工程師~ 是在搞笑嗎?)
此時此刻
我的心情只想掐死世界上所有叫Maya的人
管他是不是無辜的
我有聽過一個爛笑話叫做誰在一壘
這個爛笑話的梗就是因為一壘手的名字剛好叫『誰』
這一個小時內我跟Maya的互動大概就像這個爛笑話
我:『誰在一壘?』
Maya:『對啊~』
我:『誰在一壘?』
Maya:『對啦~』
我:『我是問你誰在一壘?』
Maya:『阿我就說對啊!』
我:『你到底知不知道誰在一壘啦!?』
Maya:『我知道啊!』
我:『誰在一壘啦!?』
Maya:『對啦!你要我講幾次!?』
我:『X!信不信我宰了你』
這就是工程師觀點&使用者觀點的不同,要是今天我是MAYA工程師,搞出這個bug,我的思路應該是:
回覆刪除這只是error handling message不對->主功能其實沒錯->其他重要的bug先解,這條的priority放低一點->出貨時,忘了解這條XD
但這種鳥bug對使用者來說,卻會讓他浪費一整天debug…
還會放priority不錯了啦~
回覆刪除我看那傢伙根本是無視吧 orz
沒救啦XD
回覆刪除所以我都拒絕使用API這類力求清楚的東西也敢隨便亂搞的Library