久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

函數要多小才夠好——談小函數之道

2023-08-24    分類: 網站建設

百度權重查詢 站長交易 友情鏈接交換 網站監控 服務器監控 seo監控

“設計的函數往往比較小,而過大函數的設計往往烏煙瘴氣,或者存在很大的優化空間。”

也許你認為討論函數的大小沒有需要,原因是函數設計的本質是內聚,它的大小只是它的體現形式。而上面的原因有需要讓我們討論一下函數的大小問題。

我對函數的核心思路:我提出代碼好小處理單元的概念:一個基本操作(賦值,比較等),一個函數調用(包括調用后判斷返回值進行判斷)都看成一個好小處理單元。那么,一個函數,好小處理單元合理的個數范圍在7以內。假如超過了7,你就要考慮把他們拆分成多個函數了(為什么是7?人同時能夠處理的信息不超過7個)。

好小數目沒有限制,即便是只有1個,也有存在的需要。

在下面的情況下我會將函數拆分為更小的函數:

1、一眼不能夠看到函數所有的代碼。

假如函數過長,無法一眼看到一個函數所有的代碼,我會毫不猶豫的拆分。我不想讓讀者去翻屏,也不想讓讀者前顧后盼,顧此失彼。漂亮的函數應該讓讀者一眼就知道他在做什么以及怎么做的。

2、局部變量過多。

假如局部變量超過七個,我會考慮拆分函數。變量過多意味著我要記錄太多的狀況,這會加重我大腦的負擔,同時要考慮太多的東西。這也同時意味著我可能沒有對函數功能進行深入的思考。

3、太多的縮進。

太多的縮進意味著太多的嵌套,要么是循環,要么是判斷,都會導致復雜的邏輯。

4、假如你在使用ctrl+c和ctrl+v

那你寫的代碼不夠拽(DRY,Don’t Repeat Yourself)。這個時候,你要把你復制的部分拆分為新的函數。

5、不處于統一抽象條理。

舉例,有一個初始化函數,需要初始化配置數據,套接字,數據庫連接,通道狀況。

void init()

{

Config_init();

Socket_init();

Db_init();

int i = 0;

For (i = 0;i < max_chn_num;i++)//初始化所有通道 {

G_user_chn[i].status = status_init;

……

}

}

上個函數中對所有通道的初始化一塊代碼就和其他的不處于一個抽象條理,我們應該將它封裝起來:

void chn_init()

{

int i = 0;

for (i = 0;i < max_chn_num;i++)//初始化所有通道 {

G_user_chn[i].status =status_init;

……

}

}

函數好小可以有多小,它存在的意義

我見過的好優異的函數:

int max(int a, intb)

{

return a> b?a:b;

}

這個函數很小,只有一行,但是他存在的意義在于:在函數的調用點,我們一眼就知道是獲取a和b中的好大值,而不是分析a > b?a:b的邏輯。這樣可以節省程序員的腦力成本,從而達到一個目的:漂亮的函數應該讓讀者一眼就知道他在做什么以及怎么做的。

小函數的好大障礙:性能

對于程序員新手,小函數的好大障礙在于沒有經驗體味不到小函數的優勢,沒有經驗拆分大函數為更小的函數。

對于有一定經驗的程序員,小函數的好大障礙也許是對性能的憂慮。

對于性能,切記,不要過早優化。我們一般認為的程序的,一般并不是程序的:我們需要工具來確定真正的所在,20%的代碼耗費了80%的性能,優化之前首先要找到那20%的代碼。函數調用會產生資源和性能的損耗,但是這是不是程序的性能?消費的性能占總體的性能百分比為多少?這一切在代碼編寫時并不清楚,所以,我的觀點是寧可選擇簡短的函數來獲得清晰簡單的設計,以便在項目后期能夠更快,更好的進行性能優化。

許多人都在質疑我上面列舉的max函數的實例,假如說他在運行期間調用次數不大,則對性能的影響基本可以忽略,而獲得的可讀性,清晰性這極具價值;反過來,假如他的調用次數是否重大,以致成為了性能的,則完全可以在程序編寫完成后,很快的用其他的方法優化。程序的不會許多。

關于函數調用產生的性能消費,我會抽時間測試一下,看到底占用多少。

好后的建議:

在對新員工培訓的過程中,發現程序員新手一般對函數的大小不夠敏感。所以,我建議你可以多嘗試編寫10行左右(甚至更小)的函數,慢慢你會發現小函數原來具有大威力。

文章來源:常高偉的博客

名稱欄目:函數要多小才夠好——談小函數之道
URL鏈接:http://www.js-pz168.com/news18/278218.html

成都網站建設公司_創新互聯,為您提供全網營銷推廣網站設計公司云服務器微信小程序域名注冊品牌網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
欧美精品在线一区二区| 日韩三级中文字幕| 欧美大尺度电影在线| 精品少妇一区二区| 亚洲女同一区二区| 国产永久精品大片wwwapp| 99久久精品无码一区二区毛片| ts人妖另类在线| 亚洲一区3d动漫同人无遮挡| 日韩欧美一区二区免费| 亚洲情趣在线观看| 国产美女主播视频一区| 久久精品女人的天堂av| 欧美日韩中字一区| 欧美不卡一区二区| 夜夜嗨av一区二区三区中文字幕| 午夜伦欧美伦电影理论片| 青青草国产成人av片免费| 99精品欧美一区二区蜜桃免费| 国产精品久久久久久久久久直播| 欧美日韩精品综合| 91精品国产欧美日韩| 亚洲精品一二三| 丁香激情综合五月| 国产精品乱码视频| 欧美色图12p| 自拍av一区二区三区| 亚洲成av人片观看| 99久久伊人久久99| 日本精品一区二区三区高清| 国产欧美精品区一区二区三区 | 国产一区国产精品| 亚洲精品影院| 18成人在线观看| 国产午夜亚洲精品羞羞网站| 国产精品日产欧美久久久久| 蜜臀91精品一区二区三区| 国产美女精品在线观看| 亚洲一区二区在线看| 国产日韩欧美精品在线| 一区二区日韩电影| 99久精品国产| 欧美日韩国产综合草草| 亚洲乱码精品一二三四区日韩在线 | 久久爱av电影| 日韩一区二区麻豆国产| 午夜精品久久久久久久99樱桃| 国产成人自拍高清视频在线免费播放| 91论坛在线播放| 欧美日韩一区二区在线观看视频| 26uuu精品一区二区| 久久精品国产精品亚洲综合| 成人国产电影网| 一本到不卡免费一区二区| 日韩欧美国产成人一区二区| 日韩在线a电影| 美女被啪啪一区二区| 欧美日韩1234| 天涯成人国产亚洲精品一区av| 成人黄动漫网站免费app| 日本黑人久久| 亚洲国产成人私人影院tom | 久久久99国产精品免费| 精品国产伦一区二区三区免费| 亚洲精品成人悠悠色影视| 97久久精品人人爽人人爽蜜臀| 日本一区二区三区免费看| 8x8x8国产精品| 日韩电影免费在线看| 4444kk亚洲人成电影在线| 欧美一区二区三区在线视频| 日本一区中文字幕 | 国产精品国模大尺度视频| 久久精品免费看| 手机成人在线| 精品国产91乱码一区二区三区| 亚洲一线二线三线久久久| 成人a区在线观看| 欧美精品99久久久**| 青青草精品视频| 一区二区国产日产| 亚洲一区免费在线观看| 久久久精品有限公司| 国产欧美一区二区精品仙草咪| 麻豆国产精品一区二区三区| 亚洲一区二区三区四区中文| 亚洲美腿欧美偷拍| 激情久久av| 日韩一二三四区| 国产高清精品久久久久| 欧美日免费三级在线| 麻豆91精品91久久久的内涵| 久久久久久久久一区| 国产精品私人影院| 国产精品国产精品| 中文一区在线播放| 国产精品久久久久久久久久久久午夜片| 欧美日韩在线电影| 精品一区二区三区视频在线观看| 欧美日本亚洲| 久久精品视频在线免费观看| 成人a级免费电影| 精品国产伦一区二区三区免费| 美腿丝袜亚洲综合| 欧美性色黄大片手机版| 喷水一区二区三区| 欧美少妇bbb| 国产一区二区三区在线看麻豆| 亚洲精品一区二| 日韩中文字幕区一区有砖一区| 久久精品成人一区二区三区蜜臀| 欧美videos中文字幕| 成人动漫av在线| 国产亚洲视频系列| 国产精品制服诱惑| 亚洲精品国产a久久久久久| 日韩福利一区二区三区| 亚洲va欧美va国产va天堂影院| 国产精品一区二区三区免费观看 | 国产亚洲午夜高清国产拍精品| 日本成人在线不卡视频| 欧美精品欧美精品| 欧美激情在线观看视频免费| 国产精品18毛片一区二区| 国产精成人品localhost| 国产拍揄自揄精品视频麻豆| 国产精品美女黄网| 亚洲欧美激情插| 国产精品美女黄网| 日韩毛片精品高清免费| 日韩视频在线观看国产| 日本欧美一区二区在线观看| 欧美日韩在线综合| 粉嫩嫩av羞羞动漫久久久 | 在线看成人av电影| 久久99精品国产麻豆婷婷| 欧美一区二区三区免费观看视频| 麻豆精品新av中文字幕| 欧美一区二区视频在线观看2020 | 成人精品鲁一区一区二区| 久久久综合视频| 久久久久久国产精品免费免费 | 成人涩涩免费视频| 91麻豆精品91久久久久同性| 激情图区综合网| 日韩欧美中文一区二区| 福利视频一区二区三区| 一区二区成人在线视频| 欧美怡红院视频| www.成人在线| 中文字幕佐山爱一区二区免费| 国产欧美欧洲| 亚洲h精品动漫在线观看| 欧美日本精品一区二区三区| 久久精品免费看| 精品久久人人做人人爽| 精品国产乱码一区二区三区四区| 国产精品久久99| 亚洲一区二区三区四区中文| 视频一区二区三区在线| 69堂亚洲精品首页| 国产精品播放| 日韩精品五月天| 精品国产乱码久久久久久浪潮| 99精品久久久久久| 一区二区三区国产| 欧美精品v国产精品v日韩精品| 国产乱对白刺激视频不卡| 欧美国产日韩a欧美在线观看| 国产精品二区二区三区| 亚洲成人综合网站| 日韩一区二区在线播放| 精品国产乱码久久久久久88av | 亚洲精品写真福利| 欧美唯美清纯偷拍| 国产精品成人一区二区三区| 日韩激情中文字幕| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久草av在线| 国产欧美日韩另类视频免费观看| 国产精品青青草| 亚洲另类在线视频| 91麻豆精品国产综合久久久久久| 成人午夜视频在线观看| 亚洲色图在线看| 欧美精品久久久久久久多人混战 | 国产精品日韩欧美一区二区| 日韩激情中文字幕| 国产婷婷一区二区| 在线观看日韩电影| 国产精品国色综合久久| 麻豆精品久久精品色综合| 中文天堂在线一区| 精品视频一区 二区 三区| 国产有色视频色综合| 激情深爱一区二区| 亚洲欧美日韩一区二区 | 色综合天天综合色综合av| 99久久久无码国产精品| 视频一区二区三区在线|