如何向完全不懂編程的小夥伴解釋「程序寫死」?


就是電視機不能換台

空調不能調溫度

音箱不能調音量

燈泡不能關

能用,且只能用


好睏難的任務啊,有時候向自認為懂編程的小夥伴都很難解釋這個概念。。。


我編程七八年,頭一次聽你說「程序寫死」 這個詞。 「硬編碼」?

啥意思啊? 求教。


1.簡單說就是本該是變數的地方固定成了常量。

沒有寫死的程序:

根據傳入的參數的不同,我可以用這段程序炸地球,炸月亮,炸火星,炸油條,炸各種東西。

寫死的程序:

只能炸油條。其他的什麼都幹不了。

————————————————————————————————

2.高級一點的就是耦合度太高。一個模塊直接修改另一個模塊的數據,或直接轉入另一個模塊。

沒有寫死的程序:

炸了地球你可以去火星,去半人馬,去麥哲倫星系 ,甚至去死,管不住你。

寫死的程序:

炸了地球你接著就死了。


不小心把能捏的橡皮泥給暴晒定型了。

不知道這個比喻好不好。


固定啞鈴 和 組合啞鈴 的區別。

鉚釘 和 螺絲的區別

扳手 與 活動扳手的區別

死飛 與 山地車 的區別

普通計算器與可編程計算器的區別

街機與遊戲主機的區別。


你開發了一個鎚子,這個鎚子可以用來敲。

寫死就是你只能用鎚子敲冰箱。

而好用的鎚子是既可以敲冰箱,也可以敲木頭,當然也包括敲手機。

敲的對象是靈活的,就不算寫死啦。


座機和手機的區別。

寫死就是座機,不在家就沒人接。


片兒刀和虎頭鍘的區別。


(它沒有被賦予創造者的思想 || 思想被固定了)


推薦閱讀:

為什麼 C++ 只比 VBA 快 4倍?
正在學c++但是越學越覺得自己還有好多東西不知道?
為什麼現代CFD和PIC模擬大量採用C++編寫?針對這些模擬C++相對於C的優勢在哪?
C、C++、MATLAB、Python、Go 哪個比較適合寫演算法?
C++如何調用matlab庫函數?

TAG:程序員 | 編程 | 計算機科學 | C |