當軟體遭遇潛規則
當軟體遭遇潛規則
軟體世界很簡單,除了0就是1;軟體世界也很複雜,超乎人的想象。
那潛規則呢?無處不在。
我們都在使用電腦,也肯定使用作業系統。如果你整天泡在Windows上,說明你已經遭遇並接受了微軟的潛規則和盜版文化。
什麼?怎麼可能?我沒用D版的Windows作業系統啊!
哦,別急!那為什麼你用的是Windows而不是Linux 呢?
這正是著了潛規則的道。有幾個人首次接觸電腦而用的不是D版的作業系統呢?!
這麼說來,還真是有些無可奈何。
誰說不是呢。這只是生活中遭遇的潛規則,也許並無大礙,隨他去吧。
那我們作軟體的,在軟體設計中遭遇潛規則該怎麼辦呢?
迴避?較真?那好像解決不了問題。
潛規則是擺不到檯面上的東西,基本無跡可尋,但又真實存在。
作軟體需求的人員也許最深有體會;很多時候這東西令客戶搖擺不定,言不由衷。
舉個例子,我們來看看建築行業的成本核算吧。
成本=人力成本+原材料成本+稅務+工具折舊
程式設計師都能想到這個成本的演算法,並且可能會理直氣壯的認為就應該是這個樣子。
但經歷過房價飛漲的一代,絕不會相信那是真的。因為沒有誰確切知道,但會相信真實成本在房價裡所佔的比例不高,房產開發商又都很委屈的說:咋也沒有暴利呀。
那差在哪呢?
如果發揮我們的想象,也許會得到這樣一個計算公式:
成本=人力成本+原材料成本+稅務+工具折舊+公關+行賄+贊助+個人私吞
而對於一個建築企業,應該至少存在兩種成本計算方法:一種給房產的老總看的,一種給政府的檢查人員看的。大家都能想象的出,兩者肯定不會一樣。
凡此種種,我們可以得到N種可能的計算規則,或者說是計算潛規則。
現在,房產企業的老總一時衝動,打算做一個軟體來儘快的核算企業成本,並請求軟體開發公司的需求分析人員前來調查需求。
有意思的事情要發生了。需求調查人員急切的想知道成本核算的具體計算方法,但是作成本核算的財務總監卻支支吾吾,難以明示。箇中緣由,相比大家都心知肚明。
的確,難為這些做財務的了,有些事還真不足向外人道也!
可是,軟體還得做!得想個辦法來解決這問題啊。
下面就是我將要敘述的解決這類問題的方法――軟體外翻設計。
一般而言,軟體提交給終端使用者之前,業務邏輯都在軟體的內部封裝好了,終端使用者只能看到結果,看不到業務邏輯執行的過程。就算給他們原始碼,他們敢隨便的改嗎?!
可是,正如上面所述,潛規則中的業務邏輯很難搞的清楚,提前封裝到軟體內部也就變成不可能的事情。那能不能部封裝在軟體內部呢?答案是肯定的。這就需要把這部分使用者無法明說而又真實存在的業務邏輯的實現程式碼暴露給最終客戶,讓客戶去實現和維護。
聽起來有點瘋狂,客戶能當程式設計師用嗎?
特殊情況也只能特殊對待了,關鍵是我們要暴露給他們什麼樣的程式設計介面。
還記得VBA不,大名鼎鼎的微軟提供給客戶的程式設計介面。依照這個思路,我們應該提供給客戶一種簡單、易用、不用學習即可使用指令碼語言,由他們親自完成隱祕、晦澀難以說明的軟體業務邏輯吧。
以後將說明我對這種軟體外翻設計的一種實現方式。
2009-04-27
相關文章
- 幽默:軟體行業的潛規則行業
- 當軟體定義晶片遭遇自由軟體時 - lwn晶片
- 當"軟體定義晶片"遭遇"自由軟體"時 - lwn晶片
- 狠狠記住的“人性潛規則”
- 常見的社會潛規則有哪些?
- 軟體架構風格——規則架構架構
- 如何為團隊潛規則明碼標價
- 使用CRM軟體系統建立的分配規則
- “正規表示式”應當稱為“規則表示式”
- 單一職責原則:軟體世界中最重要的規則 - DZone
- 這些職場潛規則幫你做高效技術人
- 20條職場潛規則!小心那些城府很深的人(建議收藏)
- hadoop 記憶體分配規則Hadoop記憶體
- 軟體開發的常見認知規律和原則 - Reflectoring
- 軟體設計原則
- 自媒體短視訊運營怎麼做?揭祕3個不為人知的潛規則
- 體面編碼之命名規則
- SOLID 原則:軟體設計的基本原則Solid
- 軟體設計原則—迪米特法則
- 軟體設計原則—介面隔離原則
- 軟體設計原則—合成複用原則
- 軟體測試的原則
- 軟體設計原則(Principles)
- 規則
- java記憶體間互動規則Java記憶體
- 手游出海“潛規則”,精準擊中目標市場使用者喜好
- 軟體設計原則—依賴倒轉原則
- 怎麼樣解決macOS遭遇惡意軟體入侵問題Mac
- 波音遭遇勒索軟體攻擊, WannaCry 成為最大懷疑物件物件
- 管理感悟:軟體第一法則
- 正則匹配規則2
- 軟體資源規劃
- 軟體測試規範
- 當AI開始擁有“潛意識”AI
- ESlint規則EsLint
- url規則
- makefile規則
- canvas非零繞組規則與奇偶規則Canvas
- 軟體開發的七條原則