最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Effective C++ 第十八條 Make interface easy to use correctly and hard

2023-01-19 15:35 作者:九思519  | 我要投稿

讓接口容易被使用正確,不易被誤用

當我們在為客戶設計接口的時候,需要考慮到客戶可能會犯的錯誤,盡量將接口設計成一旦客戶使用錯誤就報錯,沒報錯就是客戶使用正確。

以日期為例

這樣的設計沒有問題,但是客戶可能會 Date(30,3,1999),也就是 month 和 day 的順序反了,也有可能出現(xiàn) Date(2,30,2000) 這樣的錯誤(2月沒有30號)。該問題能夠出現(xiàn)是因為 day、month、year 都是 int 型,容易混淆,我們可以把 day、month、year 封裝為 struct ,這樣就不會出現(xiàn)順序混亂的錯誤

還可以通過用 “函數(shù)” 替換 “對象” 的方式來表示某個特定的月份

這里 Year 和 Day 并不需要如此設計,一是因為數(shù)量太多,枚舉太復雜,再者采用結(jié)構體封裝的方法已經(jīng)足夠了并不會犯其他錯誤。

保持接口的一致性

當我們設計多個類的時候,應當讓一些類的合理的操作保持一樣的接口,比如 STL 中的 vector 擁有 size(),其他容器如果擁有 size 是合理的那么也有一個 size 接口。不能對于 A 寫一個 size,對于 B 寫一個 length,這樣對于開發(fā)者來說記憶負擔加重,也毫無必要。

攜帶刪除器

我們使用指針的時候,使用 shared_ptr 會自帶一個刪除器,它的好處在于當我們在一段代碼中取得資源但是不需要釋放的時候,被其他代碼delete了,這樣會導致錯誤。有刪除器的話,會設置一個計數(shù)器,一個地方釋放資源并不會真正地將資源釋放,而是計數(shù)器減一,只有當真正計數(shù)器為0的時候資源才會被釋放。

Effective C++ 第十八條 Make interface easy to use correctly and hard的評論 (共 條)

分享到微博請遵守國家法律
辽宁省| 长治县| 泾源县| 太和县| 康保县| 普安县| 慈溪市| 基隆市| 寻乌县| 江城| 钦州市| 贡嘎县| 股票| 阳信县| 虎林市| 壶关县| 东明县| 钟祥市| 泰顺县| 登封市| 樟树市| 抚宁县| 广水市| 汉中市| 衢州市| 庄河市| 珲春市| 云阳县| 老河口市| 南昌县| 双峰县| 克什克腾旗| 扶风县| 镇雄县| 赣州市| 翁源县| 栾城县| 德清县| 罗山县| 游戏| 神木县|