1. gzyueqian
      13352868059

      嵌入式開發(fā):清理可重用軟件的API

      更新時(shí)間: 2022-08-31 09:39:04來源: 粵嵌教育瀏覽量:9157

        嵌入式開發(fā)人員編寫可重用的固件需要?jiǎng)?chuàng)建干凈的應(yīng)用程序接口(API)。該API需要經(jīng)過深思熟慮,以便使重用變得容易和高效。理想情況下,API應(yīng)該至少具備這六個(gè)特征。

        特征1——顯而易見,易于理解

        就像任何一個(gè)軟件可以從一個(gè)應(yīng)用程序重用到下一個(gè)應(yīng)用程序一樣,API應(yīng)該簡單、明顯、易于理解。并且要記住!當(dāng)API不一致并且使用看似隨機(jī)的語法時(shí),使用現(xiàn)有的組件或庫會非常煩人。你不希望用戶為了找到正確的調(diào)用或操作而不斷地查看文檔。

        特征2——可擴(kuò)展

        技術(shù)以驚人的速度變化,有時(shí)這些變化需要對API進(jìn)行添加或修改。因此,API應(yīng)該以這樣一種方式開發(fā),即它可以很容易地?cái)U(kuò)展以包含新的特性,而不必從頭重寫API或進(jìn)行徹底的檢查。API在保持與以前版本一致性的同時(shí)添加新功能的能力是決定其長期生存能力的一個(gè)關(guān)鍵因素。

        特征3——具有高內(nèi)聚力

        內(nèi)聚性是指一個(gè)模塊的元素,或者在這種情況下是API,屬于一起的程度。低內(nèi)聚力的一個(gè)例子是將微控制器的所有外設(shè)功能集中到一個(gè)接口中。界面將會很大且難以操作。相反,微控制器外設(shè)功能可以分解成單獨(dú)的模塊,每個(gè)模塊都有特定于單個(gè)外設(shè)的API函數(shù),以增加凝聚力。

        

        特征4——利用抽象數(shù)據(jù)類型

        在嵌入式開發(fā)中,一個(gè)好的API將在不止一個(gè)系統(tǒng)、平臺和MCU上使用。系統(tǒng)之間的實(shí)現(xiàn)細(xì)節(jié)可能需要略有不同,但是接口需要保持一致。抽象數(shù)據(jù)類型的使用有助于將數(shù)據(jù)的使用與實(shí)現(xiàn)細(xì)節(jié)分開,并有助于使接口更具可移植性。

        特征5——使用封裝和數(shù)據(jù)隱藏

        一個(gè)好的API應(yīng)該遵循面向?qū)ο筌浖淖罴褜?shí)踐,即使該軟件是用c語言編寫的不放眼全球。相反,通過get和set helper函數(shù)執(zhí)行對關(guān)鍵數(shù)據(jù)的訪問。API還應(yīng)該盡可能少地暴露給外部世界,也就是說,只暴露API用戶需要知道的東西。本質(zhì)上,API應(yīng)該以黑盒的方式提供它的功能。用戶不需要知道API的實(shí)現(xiàn)細(xì)節(jié),只需要知道使用接口的前置和后置條件。

        特征6——遵循“少即是多”的原則

        最好的API能夠通過幾個(gè)簡單的接口提供關(guān)鍵的系統(tǒng)功能。開發(fā)人員有時(shí)會受到誘惑,通過API暴露外設(shè)、芯片或應(yīng)用程序庫的每一個(gè)可能的功能。相反,他們應(yīng)該仔細(xì)考慮API,盡量減少它暴露的特性。許多復(fù)雜而笨拙的API可以被重構(gòu)為更簡單的界面,用戶會發(fā)現(xiàn)更易于管理。

        在嵌入式開發(fā)中,API對于可重用軟件的開發(fā)至關(guān)重要,API的正確設(shè)計(jì)可以確保它在未來幾年都有用。一個(gè)好的API還應(yīng)該具備哪些特征?

      免費(fèi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲精品国产精品乱卡 | 中文字幕高清色婷婷视频网 | 精品免费AV一区二区三区 | 亚洲欧美另类激情校园动漫卡通 | 亚洲一区二区在线aⅴ | 中文字幕日本一区 |