欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线

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

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.kartarina.com/news18/278218.html

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

廣告

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

網站建設網站維護公司
欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线
亚洲国产综合在线| 成人小视频免费在线观看| 国产日韩亚洲欧美综合| 亚洲国产成人av| 99re在线视频这里只有精品| 欧美精品一区二区在线播放| 五月天中文字幕一区二区| 成人免费视频app| 久久女同性恋中文字幕| 日韩va亚洲va欧美va久久| 91视频免费观看| 中文字幕亚洲综合久久菠萝蜜| 蜜臀av国产精品久久久久| 欧洲一区二区三区在线| 一区二区在线看| 91免费观看国产| 亚洲人快播电影网| 91香蕉视频mp4| 亚洲欧美日韩国产中文在线| 99视频一区二区| 亚洲欧美一区二区三区孕妇| 不卡免费追剧大全电视剧网站| 欧美激情资源网| 成人av电影在线网| 日韩一区二区中文字幕| 美女网站色91| 久久婷婷成人综合色| 国内一区二区视频| 久久亚洲二区三区| 高清视频一区二区| 精品国产一区二区三区四区四 | 亚洲精选在线视频| 欧美中文一区二区三区| 亚洲风情在线资源站| 91精品久久久久久久久99蜜臂| 日韩精品免费专区| 精品国产乱码久久久久久蜜臀| 国产激情91久久精品导航 | 日本aⅴ免费视频一区二区三区| 91精品婷婷国产综合久久性色| 久久国产剧场电影| 国产女同互慰高潮91漫画| 91免费在线看| 麻豆高清免费国产一区| 中文字幕一区二区三中文字幕| 在线观看视频欧美| 国产精品一级在线| 性做久久久久久久免费看| 久久精品视频一区二区三区| 色综合视频一区二区三区高清| 秋霞电影一区二区| 亚洲免费观看高清完整版在线| 69av一区二区三区| 91女厕偷拍女厕偷拍高清| 美女尤物国产一区| 一区二区免费在线| 欧美国产精品v| 欧美不卡一区二区三区四区| 色88888久久久久久影院按摩| 精品一区精品二区高清| 亚洲精品videosex极品| 久久久久久久久久久黄色| 在线区一区二视频| 高清国产午夜精品久久久久久| 亚洲国产一区二区在线播放| 欧美高清在线一区| 久久这里只有精品视频网| 在线不卡欧美精品一区二区三区| 99久久精品免费精品国产| 国产一区欧美一区| 免费高清不卡av| 亚洲va韩国va欧美va| 亚洲精品欧美专区| 国产精品高潮呻吟久久| 国产亚洲1区2区3区| 日韩欧美国产三级电影视频| 精品视频999| 欧美日韩中字一区| 91老师片黄在线观看| 成人avav影音| 岛国精品一区二区| 高清不卡一区二区在线| 日本91福利区| 免费看精品久久片| 奇米777欧美一区二区| 日韩精品色哟哟| 免费观看91视频大全| 日本少妇一区二区| 奇米亚洲午夜久久精品| 久久激情综合网| 激情六月婷婷综合| 国产高清不卡一区二区| 91在线视频在线| 51精品秘密在线观看| 亚洲国产精品激情在线观看| 午夜久久久久久电影| 成人av网站在线| 日韩欧美一二区| 一区二区在线观看av| 激情综合五月婷婷| 欧美日本免费一区二区三区| 日本一区二区三区四区| 秋霞av亚洲一区二区三| 在线影视一区二区三区| 日本一区二区三级电影在线观看 | 成人一道本在线| 宅男噜噜噜66一区二区66| 国产欧美日韩激情| 久久福利资源站| 色狠狠av一区二区三区| 久久久久久一二三区| 天天综合色天天综合色h| av激情综合网| 国产人成亚洲第一网站在线播放 | 国产精品美日韩| 久久国产综合精品| 欧美日韩精品综合在线| 一区二区三区四区乱视频| 成人黄动漫网站免费app| 欧美精品一区二区久久久| 奇米精品一区二区三区在线观看 | 综合色天天鬼久久鬼色| 国产精品一区二区在线观看不卡| 欧美疯狂性受xxxxx喷水图片| 亚洲精品成人精品456| 99久久国产综合色|国产精品| 久久久国产午夜精品| 国产一区欧美一区| 欧美变态凌虐bdsm| 久久国产福利国产秒拍| 日韩一区二区精品葵司在线| 日韩精品亚洲一区| 欧美一级免费大片| 老司机精品视频在线| 欧美va亚洲va| 国产精品一区久久久久| 久久久不卡网国产精品二区| 国产一区二区三区免费播放| 26uuuu精品一区二区| 国产精品66部| 亚洲国产精品成人综合| 成人免费的视频| 亚洲人妖av一区二区| 日本高清不卡视频| 亚洲va韩国va欧美va| 日韩手机在线导航| 国产一区二区三区电影在线观看 | 亚洲欧美日韩人成在线播放| 色婷婷久久一区二区三区麻豆| 成人欧美一区二区三区白人| 欧洲一区二区三区在线| 日本午夜精品视频在线观看| 精品久久国产老人久久综合| 国产精品小仙女| 亚洲日本在线观看| 欧美日韩国产美女| 国产精品99久久不卡二区| 亚洲视频一二三区| 日韩一区二区三区精品视频| 精品在线免费视频| 中文字幕第一区二区| 色婷婷av一区二区三区之一色屋| 亚洲一区影音先锋| 26uuu国产在线精品一区二区| 成人av免费观看| 亚洲成a人片在线不卡一二三区| 欧美一区二区性放荡片| 国产精品99久久久久久有的能看| 日韩伦理电影网| 在线播放中文一区| 成人午夜免费视频| 丝袜美腿亚洲综合| 国产欧美一区二区精品性| 91精品91久久久中77777| 久久精品国产亚洲5555| 国产精品不卡在线| 日韩精品一区二区三区蜜臀| 91美女福利视频| 久久精品国产99国产精品| 亚洲视频中文字幕| 久久亚洲精品国产精品紫薇| 欧美色手机在线观看| 成人激情小说网站| 奇米色一区二区| 夜夜嗨av一区二区三区网页| 国产三级精品三级在线专区| 3atv一区二区三区| 欧美在线短视频| 99视频国产精品| 国产999精品久久久久久绿帽| 奇米四色…亚洲| 午夜电影久久久| 亚洲欧美激情一区二区| 日本一区二区三区四区| 精品粉嫩aⅴ一区二区三区四区| 在线精品视频一区二区| 不卡的av电影在线观看| 国产乱码精品一区二区三区忘忧草 | 日韩电影在线免费看| 亚洲精品乱码久久久久久久久|