幾個超炫的專業詞匯
從同事的博客上學會了幾個超炫的專業詞匯,激動不已。覺得這些詞匯可以言簡意賅的概括我的好幾篇博文,自己的文章水準真是自愧不如。現在來見識一下真正大師級的英語詞匯:
·Yoda Notation(Yoda 表示法)
在 C/C++ 里面使用這樣的表達式順序:
- if ("blue" == theSky) ...
這是為了避免意外的寫成:
- if (theSky = "blue") ...
“Yoda 表示法”的名字來源于《星球大戰》的 Yoda 大師。他說話的單詞順序相當奇特,比如:“Backwards it is, yes!”
同事認為:使用這個表示法是為了“變通”(wordaround) C/C++ 的一個設計抉擇:使用= 來表示賦值,而使用 == 來表示比較。這個設計充分的展現了“先輩的罪”(Sins of our Forefathers)這一詞匯的精髓。
關于 Yoda 表示法我有不同的見解,請參考《Yoda 表示法錯在哪里》。
·Mental Speedbump(頭腦減速杠)
由于設計的不協調性造成的用戶的注意力分散。比如,很多軟件喜歡彈出一個窗口問你“是否繼續?”
·Pearl Effect (珍珠效應)
珍珠是怎么形成的?是由于異物掉進了蛤蚌的外套膜和貝殼之間的夾層里面,沒法排出來。異物不斷的刺激該處的外套膜,又癢又痛,于是外套膜分泌珍珠質把異物包圍起來,包了一層又一層。久而久之,就形成了珍珠。在軟件里面也有很多這樣的“珍珠”。由于早期的撓人的設計錯誤,用戶不得不采用一些“變通方案”(workaround)或者“附加過程”,這些就像珍珠質一樣。久而久之,這些變通方案凝結起來,變成了“軟件珍珠”,不了解它們來源的人都視之為寶貝。雖然產生于同樣的原理,“軟件珍珠”遠遠沒有真正的珍珠那么好看。
(請比較:Sins of our Forefathers)
·Sins of our Forefathers(先輩的罪)
當時看起來合乎邏輯并且合情合理最后回顧起來卻很傻b的歷史遺留設計。與“珍珠”相比,這些是有意識的加進去的,而不是不小心造成的,雖然這兩者都會造成“變通”(workaround)。
·Katrina Effect(卡特里娜颶風效應)
這個詞描述的是一種颶風過后完全重頭來過的悲慘景象。這種現象現在經常出現在重裝或者升級軟件之后,或者 Windows 安裝完軟件之后要你重啟機器(關掉所有窗口)。
·Workaround(變通)
因為開發過程的失敗而讓用戶必須進行的一些操作。這些通常是設計失誤。
·Jenga Code
當你加上一小塊代碼之后,就整個垮掉的那種代碼。Jenga 是一種非常流行的 party 玩具,如圖。它的工作原理是,先把那些小木條堆成一個規則的塔。然后,參加游戲的人輪流從下面抽出一塊(只能用一只手)來放在最上面。誰放上之后木塔垮掉了,誰就“勝利”了。之后這個人就要做其他人想出來的一些“懲罰”,跟真心話大冒險那些事情差不多。
一種假想中的 bug。它一般是跟據運行日志的少數記錄和零星含糊的用戶報告推測出來,但是在開發員的機器上很難重現。
當你試圖觀察它的時候就突然消失或者改變行為特征的 bug。