成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

函數(shù)設計心得:盡量避免布爾型參數(shù)

開發(fā) 前端
我認為,這個參數(shù)應該被設計為一個 DWORD 或者,如果更優(yōu)雅一些的話,應該設計為一個枚舉,類似于:EVENTTYPE_AUTORESET 和 EVENTTYPE_MANUALRESET,這樣就一眼可以看出來參數(shù)的含義了。

通常來說,我認為在設計一個函數(shù)原型的時候,應該盡量避免使用布爾類型的參數(shù),除非函數(shù)名稱能十分清楚的將這個參數(shù)的意思表達出來。

我并沒有想教你做事,但是請聽我細說

先舉兩個正面的例子,有一個 API 函數(shù) EnableWindow,它用來啟用或禁用一個窗口。它的第二個參數(shù)是一個布爾型參數(shù),如果此參數(shù)傳入 TRUE,則調(diào)用此函數(shù)會將指定的窗口啟用,傳入 FALSE,則禁用窗口。

另外一個是 ShowScrollBar 的最后一個參數(shù),它也是一個布爾型的。它的含義也十分明顯,如果傳入 TRUE,則表明將會顯示滾動條,如果傳入 FALSE,則會將滾動條隱藏。

這兩個例子中,布爾型參數(shù)的含義都清楚的體現(xiàn)在了函數(shù)的名稱中,是一個良好設計。

但下面的例子就沒那么顯而易見了。

我們看看這個函數(shù) CreateEvent,它的第一個參數(shù)是布爾型的,但如果不查看函數(shù)的文檔,則開發(fā)者很難想象這個參數(shù)具體的作用是什么。看了文檔之后,才會明白:這個參數(shù)用來控制是否創(chuàng)建一個自動重置的事件對象。更進一步地,到底是傳入 TRUE 還是 FALSE 來創(chuàng)建一個自動重置對象呢?每次當我調(diào)用這個函數(shù)的時候,我都只能老老實實的翻開函數(shù)文檔認真閱讀,才知道具體應該傳入什么布爾值。

我認為,這個參數(shù)應該被設計為一個 DWORD 或者,如果更優(yōu)雅一些的話,應該設計為一個枚舉,類似于:EVENTTYPE_AUTORESET 和 EVENTTYPE_MANUALRESET,這樣就一眼可以看出來參數(shù)的含義了。

更加糟糕的是,CreateEvent這個函數(shù)中,總共有兩個布爾型參數(shù),你需要弄明白這些布爾值的含義,還得小心不要記錯順序了,這可太糟了。

另外一個反面例子是:StreamReader(Stream, bool) 這個函數(shù),我想問問聰明的你,如果先不看函數(shù)文檔的話,你能猜到它的第二個參數(shù)是什么意思嗎?

總結(jié)

以上只是我的個人看法,怎么設計你的函數(shù)害得你自己決定。
但,為什么不讓生活變得更美好一些呢?
幫助他人(你代碼的閱讀者),善待自己(三個月后的自己)。

責任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2010-11-18 10:22:58

職場

2023-11-01 13:32:42

Go代碼

2024-03-25 10:00:00

C++編程else

2012-06-27 10:29:20

imo即時通訊

2025-05-28 03:20:00

布爾值編程True

2009-08-24 17:27:05

C#泛型應用

2024-01-23 11:21:24

2023-02-10 10:14:59

普通索引唯一索引

2024-10-25 16:07:39

Python函數(shù)

2023-11-02 21:11:11

JavaScript設計模式

2021-05-20 08:51:33

設計驅(qū)動數(shù)據(jù)庫

2021-08-03 07:51:43

Java 8 函數(shù)接口

2009-09-27 11:09:42

API設計

2009-08-24 14:51:25

C# 泛型泛型類型

2009-08-25 13:57:09

C#泛型集合類型

2019-06-26 00:19:48

物聯(lián)網(wǎng)設計物聯(lián)網(wǎng)IOT

2014-08-13 15:55:17

Web響應式設計design

2016-11-28 09:06:45

前端系統(tǒng)開發(fā)

2022-06-22 05:42:32

數(shù)據(jù)庫事務處理分析查詢

2019-08-29 08:58:24

Python布爾型編程語言
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品成人国产乱一区 | 日本在线免费视频 | 91网站在线观看视频 | 日韩成人在线播放 | 成人影院在线观看 | 成人中文字幕在线观看 | 日本久久综合 | 国产激情99| 精品国产91久久久久久 | 少妇无套高潮一二三区 | 夜夜骑首页 | 日韩成人影院 | 女人一区 | 亚洲协和影视 | 国产色在线 | 性一交一乱一伦视频免费观看 | 亚洲激情一级片 | 欧美一区视频 | 翔田千里一区二区 | 国产一区二区不卡 | 国产日韩一区二区三免费高清 | 在线国产一区 | 精品中文视频 | 久久欧美精品 | 亚洲精品久久久蜜桃网站 | 精品99在线| 91精品国产777在线观看 | 欧美一级黄色片免费观看 | 人人插人人| 亚洲精品久久久久久下一站 | 高清黄色毛片 | 日韩at| 日韩精品久久 | 亚洲成人中文字幕 | 日本一区高清 | 久草www| 九九热在线观看 | 欧美久久久网站 | 国产一级片在线观看视频 | 免费看的黄网站 | 一区二区三区日本 |