程式的模組化的一些見解5 移植性 例項說明

2022-10-11 15:12:10 字數 1181 閱讀 1310

我一直以來覺得技術性的文件非常重要,但其實我做得不好。主要是我想做。但我做得不夠細緻,不夠清晰,不夠完整。只是,我一直在改善著,希望各位多多指點。

今天我想表達的是乙個關於程式模組化的移植性,通過乙個例項來描寫敘述。

說得好。大家頂一下。說得不好,大家頂兩下,嘻嘻。

函式功能非常easy:掃瞄led  led的顯示有不亮、閃爍、常亮 3種方式,當中閃爍次數是有規定的,我的是3次(詳細是 閃爍3次,週期是0.5秒,即亮0.25秒 滅0.25秒)

f_flslock = 1;//啟動時閃爍3次

f_flslock =0; f_locken =0;//led不亮

f_flslock = 0; f_locken =1;//led常亮

這是我第一次寫的程式,5毫秒掃瞄一次。

void ledlock(void)

else if(++timeflash <= (100-1))

else

}} else

else

}}

這是我第二次寫的程式,5毫秒掃瞄一次。

void ledlock(void)

else if(++timeflash <= (100-1))

else

}} else }

// if(f_ledlocken)

else

表面能夠看出。第2次的程式比第一次多了i個標誌位f_ledlocken 。

更深一點:假設這兩個程式的移植性是那個好呢?這就是我今天主要說的。假設

這兩個程式都用在乙個同樣的驅動電路,即vdd-led-電阻-gnd,那麼

就沒有什麼差別。

但假設用在復用,即按鍵和led共用乙個io或者led共

用com,這時功能同樣,led驅動更改肯定要的,但推斷是否顯示和閃爍是

時間和次數能夠不改,對此,假設抑制第乙個程式。那得大改了,哈哈,

那又得浪費時間了。但第二個程式,僅僅須要更改led驅動方式。再通過

f_ledlocken來確定是否亮與不亮就可以。

總的來說。這裡就是將推斷led是否亮的模組和led驅動模組全然區分開,

這樣。兩個模組就能夠單獨移植和改動卻不相互影響。

此篇見解至此已完,說得不好,歡迎扔磚。

點點滴滴的努力著!!。

程式的模組化的一些見解5 移植性 例項說明

我一直以來認為技術性的文件很重要,但事實上我做得不好,主要是我想做,但我做得不夠仔細,不夠清晰,不夠完整。不過,我一直在改善著,希望各位多多指點。今天我想表達的是乙個關於程式模組化的移植性,通過乙個例項來描述。說得好,大家頂一下,說得不好,大家頂兩下,嘻嘻。函式功能很簡單 掃瞄led led的顯示有...

程式的模組化的一些見解2

在寫程式的時候,經常會遇到增加或者修改程式,此時,如果程式的邏輯 在沒有完全理清時或者真有必要時,我們也許總喜歡增加乙個標誌位來達到修改程 序的目的。然而,這往往就會存在bug。或許會是致命的 bug,所以,按我的經驗 來說,我建議專門寫這樣乙個函式,我叫他clearflag,在這個函式,每次我增加...

前端模組化的一些總結

目前前端模組化規範比較多,有主張非同步載入的amd和cmd,還有同步載入的commonjs,還有es6實現的esm,等等 以後再有新知識再補充 這裡做一下總結 amd和cmd都使用非同步載入的方式,代表作如下 規範代表作 amdrequirejs cmdseajs 我個人比較喜歡seajs,用起來方...