成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

javascript - 最小函數準則 一個函數里只能干一件相關事情 為什么?真的有意義嗎?~

瀏覽:204日期:2023-02-16 11:37:38

問題描述

$scope.del = function () { var delItemId = getDelId(); // 要刪除的項目的身份標識 // 如果沒選擇刪除項 if (!delItemId.length) {$promptLayer.show({ str: $message.delItemIsEmpty});return; } delTarArr = delItemId; $weuiAndroidDialog2.show($message.store.delConfirm, $message.store.delCloseBtn, $message.store.delOkBtn);};// 確認刪除$rootScope.$on(’androidDialog2Btn1’, function () { del( delTarArr.join(’,’) ); $weuiAndroidDialog2.hide();});// 取消刪除$rootScope.$on(’androidDialog2Btn0’, function () { $weuiAndroidDialog2.hide();});var delTarArr;// 獲取要刪除項標識function getDelId() { var delTarArr = []; $angular.forEach($scope.selectAllItem, function (v, i) {if (v) { delTarArr.push($scope.storeList[i].Sid);} }); return delTarArr;}// 刪除function del(param) { // 請求刪除接口 $handler.store.del( param ).then(function () {delAllJumpPage(delTarArr.length, $scope.selectAllItem.length); // 刪空跳頁 });}// 刪空跳頁function delAllJumpPage(delNum, totalNum) { var curPage = $scope.pageControlCurNum; // 當前所在頁數 // 此頁刪空 跳上一頁 if (delNum === totalNum)curPage = curPage - 1; $scope.loadList(curPage); $scope.pageControlCurNum = curPage;}

or

var delTarArr;$scope.del = function () { // 看是否有選中項 $angular.forEach($scope.selectAllItem, function (v, i) {if (v) { delTarArr.push($scope.storeList[i].Sid); // 獲取選中項 Sid } }); // 如果沒有刪除項 if (!delTarArr.length) {$promptLayer.show({ str: $message.delItemIsEmpty});return; } // 再次確認提示層 $weuiAndroidDialog2.show($message.store.delConfirm, $message.store.delCloseBtn, $message.store.delOkBtn);};// 確認刪除$rootScope.$on(’androidDialog2Btn1’, function () { // 請求刪除接口 $handler.store.del( delTarArr.join(’,’) ).then(function () {// 刪空跳頁var curPage = $scope.pageControlCurNum; // 當前所在頁數// 此頁刪空 跳上一頁if (delTarArr.length === $scope.selectAllItem.length) curPage = curPage - 1;$scope.loadList(curPage);$scope.pageControlCurNum = curPage; }); $weuiAndroidDialog2.hide();});// 取消刪除$rootScope.$on(’androidDialog2Btn0’, function () { $weuiAndroidDialog2.hide();});

這兩段代碼哪個相對較優一點…… 雖然都挺渣的 大佬們對付看吧

一個函數只能干一件事這么做是為什么 可讀性?擴展性?復用性?在我看來聲明函數也不是沒有成本的啊 一個函數就占內存的一些空間呢 調用函數也沒有直接解析來的快吧~

如果是為了復用、擴展的話 第一次寫的時候就這樣做的真的不是提前優化嗎 以后的需求都確定不了呢 怎么知道提出的函數放在未來是通用的呢 這樣看絕對不是最佳性能的實踐啊~

提前 / 過渡優化不是萬惡之源嗎?~

問題解答

回答1:

就一個類而言,應該僅有一個引起它變化的原因。在 JavaScript 中,需要用到類的場景并不太多,單一職責原則更多地是被運用在對象或者方法級別上,因此本節我們的討論大多基于對象和方法。單一職責原則(SRP)的職責被定義為“引起變化的原因”。如果我們有兩個動機去改寫一個方法,那么這個方法就具有兩個職責。每個職責都是變化的一個軸線,如果一個方法承擔了過多的職責,那么在需求的變遷過程中,需要改寫這個方法的可能性就越大。此時,這個方法通常是一個不穩定的方法,修改代碼總是一件危險的事情,特別是當兩個職責耦合在一起的時候,一個職責發生變化可能會影響到其他職責的實現,造成意想不到的破壞,這種耦合性得到的是低內聚和脆弱的設計。因此, SRP 原則體現為:一個對象(方法)只做一件事情。

javascript - 最小函數準則 一個函數里只能干一件相關事情 為什么?真的有意義嗎?~

回答2:

談一下個人見解,程序是給人讀的,一個函數的復雜度越高,讀通的成本就越高。即使是你寫的程序,幾個月后,看懂其中的意思可能就需要一會兒,何況別人也可能接手你的代碼!

程序先讓人看懂了,再談運行的性能優化

回答3:

如果你的代碼只需要用很短的時間,不需要以后迭代,不需要提供給其他同事用,也不需要單元測試,那么隨便寫吧,功能實現就行了。

如果你的代碼需要被其他同事調用,需要進行迭代,需要擴展,需要單元測試。那還是按照規范來做吧,性能從來就不是代碼的形式決定的。

最簡單的方法,如果你的代碼隔一個月以后自己來看,發現很難閱讀,很難維護,很難擴展,那還是重構吧。

回答4:

我認為一個函數只干一件事更好 .... 鬼知道這些陰險的函數會不會到處散播副作用 ... 還是只做一件事,最后把他們黏連起來使用比較好。

還有我不認為性能上有很大差距 也許一個函數只干一件事性能還會更好。

第一段代碼相比第二段的一個明顯特點就是 每個函數的平均行數少了,第二個平均行數比較多。

維護編寫短小的代碼心智負擔比較小 從而維護編寫的效率高

只做一件事意味著 這個函數只要能做完這件事就可以了, 你可以輕而易舉地用別的算法實現的這個函數的副本直接替換。

由于編寫了眾多短小精悍的小函數,組裝的時候抽象層次會高一些,更符合思考。

如果是為了復用、擴展的話 第一次寫的時候就這樣做的真的不是提前優化嗎

為了復用、為了拓展從來都不是 提前優化,相反,更應該重視這兩個

回答5:

你說得沒錯。就是為了可讀性、擴展性、和復用。最主要還是可讀性/可維護性。干多件事情的函數你都沒法起名呢,更別說讓別人理解了。

過早優化是這個:「一個函數就占內存的一些空間呢」。

標簽: JavaScript
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲精品中文字幕在线观看| 亚洲一区日韩在线| 日韩高清不卡一区二区| 国产精品一区二区你懂的| 99久久99久久久精品齐齐| 亚洲性感激情| 欧美日韩一区三区| 日本一区二区三级电影在线观看| 亚洲午夜免费电影| 成人综合婷婷国产精品久久蜜臀| 国语自产精品视频在线看抢先版结局 | 日韩欧美中文字幕一区| 国产精品福利一区二区三区| 亚洲综合清纯丝袜自拍| 成人精品在线视频观看| 欧美日韩免费观看一区二区三区 | 一区二区三区欧美| 岛国一区二区在线观看| 欧美精品vⅰdeose4hd| 亚洲综合一二区| 日韩欧美成人激情| 日本网站在线观看一区二区三区 | 99热免费精品| 欧美精品一二三区| 精品制服美女丁香| 99伊人成综合| 亚洲午夜电影在线观看| 久久久久国内| 欧美国产精品久久| 国产一区二区在线免费观看| 精品一区二区在线视频| 91国模大尺度私拍在线视频| 《视频一区视频二区| 国产成人a级片| 一本久久精品一区二区| 中文av一区特黄| 成人久久18免费网站麻豆 | 欧美日韩亚洲综合在线 | 国产精品99一区二区| 欧美日韩一区三区| 国产美女娇喘av呻吟久久| 精品久久免费看| 久久成人av少妇免费| 国产精品老牛| 国产色综合一区| 懂色中文一区二区在线播放| 91激情在线视频| 国产一区 二区 三区一级| 精品少妇一区二区三区在线视频| 91麻豆蜜桃一区二区三区| 欧美精品自拍偷拍| 国产精品18久久久久久久久 | 久久99精品国产91久久来源 | 亚洲成人动漫一区| 欧美影视一区| 3d动漫精品啪啪一区二区竹菊| 午夜精品久久久久久不卡8050| 在线观看的日韩av| 久久久久久久久久久久电影| 韩国v欧美v日本v亚洲v| 一本久道久久综合中文字幕| 黑人巨大精品欧美一区| 蜜桃在线一区二区三区| 日本不卡的三区四区五区| 国模一区二区三区白浆| 91精品国产综合久久久久久久| 91在线免费播放| 一区二区三区**美女毛片| 在线这里只有精品| 成人成人成人在线视频| 欧美日韩国产综合一区二区三区 | 性做久久久久久久免费看| 国产激情偷乱视频一区二区三区| 欧美福利电影在线观看| 乱一区二区av| 中文字幕国产一区| 色婷婷狠狠综合| 波多野洁衣一区| 一本一道波多野结衣一区二区| 黑人巨大精品欧美黑白配亚洲| 国产丝袜在线精品| 久久一综合视频| 成人app下载| 国产精品视频一二三区| 欧美精品一区二区三区蜜臀| 亚洲va在线va天堂| 欧美日韩免费电影| 国内揄拍国内精品久久| 美女任你摸久久| 久久综合丝袜日本网| 成人免费视频一区| 亚洲免费在线观看视频| 亚洲黄色一区| 亚洲日本电影在线| 国产精品综合| 不卡的av中国片| 日韩av中文字幕一区二区| 国产婷婷色一区二区三区在线| 老牛影视一区二区三区| 欧美不卡一区| 麻豆成人久久精品二区三区小说| 国产午夜亚洲精品理论片色戒 | 亚洲精品国产精华液| 日韩美女在线视频| 欧美综合77777色婷婷| 日韩成人精品在线| 国产亚洲精品7777| 欧美日韩视频在线第一区| 亚洲国产欧美日韩| 国产精品99久久久久久似苏梦涵 | 国产福利91精品一区| 亚洲制服欧美中文字幕中文字幕| 精品久久久久av影院| 91久久一区二区| 亚洲九九精品| www.亚洲免费av| 精品一区二区在线视频| 亚洲免费看黄网站| 久久伊人蜜桃av一区二区| 欧美午夜精品一区| 国产成人在线视频播放| 亚洲精品国产a久久久久久 | 麻豆精品新av中文字幕| 亚洲男人的天堂av| 国产日本一区二区| 欧美日韩国产天堂| 亚洲综合国产激情另类一区| 欧美成人日韩| 国产91精品在线观看| 免费日本视频一区| 亚洲主播在线播放| 中文字幕欧美一区| 久久久久久久网| 日韩一区二区免费电影| 91成人免费在线| 国产精品亚洲产品| 国内精品亚洲| 91视频国产资源| 成人黄色大片在线观看| 国产一区二区在线看| 免费在线看一区| 亚洲成人自拍一区| 一区二区三区在线视频免费| 国产精品久久久久影院老司| 久久无码av三级| 欧美电影免费观看高清完整版| 欧美日韩综合一区| 91久久精品日日躁夜夜躁欧美| 亚洲欧美国产不卡| 国产精品美女诱惑| 在线亚洲一区| 国产91对白在线观看九色| 免费在线观看视频一区| 亚洲成av人片一区二区三区| 亚洲人成亚洲人成在线观看图片| 国产喂奶挤奶一区二区三区| 久久先锋影音av鲁色资源| 日韩精品中午字幕| 日韩精品在线一区| 欧美一二三四区在线| 666欧美在线视频| 8x8x8国产精品| 日韩亚洲欧美一区二区三区| 欧美一区二区福利在线| 亚洲激情一区| 欧美人成在线| 精品一区二区三区免费毛片爱| 视频一区二区三区入口| 国产色综合一区| 久久免费的精品国产v∧| 欧美大片在线观看一区二区| 欧美mv和日韩mv的网站| 精品国产a毛片| 国产无一区二区| 国产精品电影一区二区三区| 中文字幕一区二区三区四区| 中文字幕中文在线不卡住| 国产精品久久久久一区| 国产精品乱人伦一区二区| 欧美韩国日本综合| 亚洲视频资源在线| 亚洲激情综合网| 亚洲成av人片一区二区三区| 日本三级亚洲精品| 极品美女销魂一区二区三区 | 亚洲激情网站免费观看| 亚洲三级电影全部在线观看高清| 国产精品福利一区| 亚洲精品国产一区二区三区四区在线 | 一区二区三区四区高清精品免费观看| 中文字幕在线一区| 亚洲人成精品久久久久| 亚洲黄色免费电影| 亚洲成人av电影| 日韩国产一二三区| 另类人妖一区二区av| 国产毛片一区二区| aaa欧美日韩| 好吊色欧美一区二区三区四区 | 久久深夜福利|