内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

不得不知道的三種簡單實用的傳參方式

首先聲明,本干貨的觀點僅代表個人觀點,拿出來和大家嘮叨嘮叨。

我們注重客戶提出的每個要求,我們充分考慮每一個細節(jié),我們積極的做好成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計服務(wù),我們努力開拓更好的視野,通過不懈的努力,創(chuàng)新互聯(lián)贏得了業(yè)內(nèi)的良好聲譽,這一切,也不斷的激勵著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計,微信小程序開發(fā),網(wǎng)站開發(fā),技術(shù)開發(fā)實力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術(shù)開發(fā)工程師。

最近在寫代碼的時候,發(fā)現(xiàn)了一個有趣的事情。就是我創(chuàng)建了一個新的函數(shù),但是因為各種需求,各種功能設(shè)計的原因,函數(shù)的形參數(shù)目達到了10多個之多。

而這個時候,由于本函數(shù)是一個公共函數(shù),所以被調(diào)用的地方十分多,當這個函數(shù)的形參需要增刪改的時候,可謂牽一發(fā)而動全身(當然,出現(xiàn)這種情況就應(yīng)該想到是不是設(shè)計有問題了,耦合度這么高,但這次先不談這個),所以針對這種情況,我分別思考了3種最常用的傳參方式。

    第一種

直接傳參,每個參數(shù)一個個的排好隊寫上,例如:

不得不知道的三種簡單實用的傳參方式

                   圖片來自睿江云計算 

優(yōu)點:

1. 傳入的參數(shù)清晰,明確可以知道傳入?yún)?shù)有多少個,分別代表什么意思,從語義上一目了然。

2. 調(diào)用方便,調(diào)用者直接傳參,無需對參數(shù)進行處理加工。

3. 對新手來說更加友好,更容易理解。

缺點:

1. 形參太多,代碼失去了美感,太隨性了。

2. 當某個參數(shù)需要改動的時候,簡直是牽一發(fā)而動全身,比如$param5改為選填參數(shù),并且默認值為test:


     不得不知道的三種簡單實用的傳參方式

                                圖片出自睿江云計算

缺點很明顯,這個時候由于php參數(shù)順序的問題,選填參數(shù)必須在最后,所以所有調(diào)用者都需要起碼把原來的param5去除,放在參數(shù)最后位置,改動代價高。

總結(jié):當參數(shù)少的時候,可以使用直接一個個參數(shù)傳遞,這樣是最好的,但是當參數(shù)過多,或者改動需求大的時候,這種方法無疑是繁重的。

所以針對上面這種,當參數(shù)數(shù)量過多的時候,可以使用方法二:

    第二種

把參數(shù)組合成一個數(shù)組的形式,整一個數(shù)組當做參數(shù)進行傳遞。例如:

    不得不知道的三種簡單實用的傳參方式 

                            圖片出自睿江云計算

優(yōu)點:

1. 代碼更加整潔了。

2. 代碼更加靈活,現(xiàn)在就算有一個參數(shù)需要改動,也無需修改函數(shù)的參數(shù),只需要在調(diào)用者處增加參數(shù)即可。

缺點:

1. 沒有了php的語法限制。例如沒有了string這種的類型限制,沒有了帶默認值的選填參數(shù)的語法限制。這樣子就需要你做多一層參數(shù)的檢查。

2. 參數(shù)可讀性差了。函數(shù)的數(shù)組里面有哪些參數(shù)是不能通過形參看出來的,需要查看調(diào)用者的數(shù)組組成。

總結(jié):總體來說這種方法可以解決第一種傳參方式的弊端,但是也自身帶來了更加大的弊端,參數(shù)的限制需要另外增加一層鉤子去處理,可以說是性價比比較低的一種方法。

綜合上面兩種方法的利弊,我總結(jié)出第三種傳參方式:

     第三種

傳遞一個數(shù)據(jù)結(jié)構(gòu)對象當做參數(shù),例如:

    不得不知道的三種簡單實用的傳參方式 

                                                            圖片出自睿江云計算

優(yōu)點:

1. 參數(shù)為一個數(shù)據(jù)結(jié)構(gòu),保證數(shù)據(jù)的完整性。就是傳進來的數(shù)據(jù)結(jié)構(gòu)必然能包含所需的參數(shù)。

2. 當參數(shù)需要更加或者減少的時候,只需要修改數(shù)據(jù)結(jié)構(gòu)模型的對象屬性即可。

3. 把數(shù)據(jù)的控制和限制可以統(tǒng)一放在模型層進行處理。

缺點:

1.可能需要多個數(shù)據(jù)結(jié)構(gòu)模型。

總結(jié):總體來說這種方法可以比較全面的解決第一第二種方法的弊端,就是需要建立多種數(shù)據(jù)結(jié)構(gòu)模型,增加了代碼量。

以上就是介紹的3種傳參的種類,這是一個細節(jié)性,場景性的問題,不知道能不能明白個中意思呢?

網(wǎng)頁題目:不得不知道的三種簡單實用的傳參方式
URL標題:http://www.rwnh.cn/article32/jeeopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、電子商務(wù)、手機網(wǎng)站建設(shè)、外貿(mào)建站、App設(shè)計標簽優(yōu)化

廣告

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

成都app開發(fā)公司
渭源县| 榕江县| 泗水县| 凤山市| 遂宁市| 墨脱县| 台南市| 绥江县| 峡江县| 富宁县| 临西县| 巴林左旗| 隆德县| 望都县| 阜宁县| 紫金县| 广宁县| 郎溪县| 壶关县| 灌南县| 渑池县| 扬中市| 寻乌县| 泾源县| 于都县| 呈贡县| 察隅县| 达尔| 汕头市| 普定县| 淅川县| 股票| 长丰县| 西和县| 嘉善县| 铜山县| 军事| 郯城县| 磐石市| 河北省| 巨鹿县|