国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

簡單代碼的秘訣—去掉顯而易見的,加上有意義的

開發 前端
現代應用程序的代碼量普遍很大。 如果我們把現代十大應用程序的源代碼打印出來,那么這些紙疊起來的高度將可以比得上一座摩天大樓,由此可以想象軟件的維護成本有多高。 也就是說,寫的代碼越多,成本就越高。

 成為10倍開發人員有捷徑可走嗎? 是否有這樣一個神奇的秘密,可以幫助我們打開一個全新的軟件開發精通和生產力世界?懷疑者們通常會說:“當然沒有捷徑可走! 每個人都需要不斷的練習才能變得更好!”

的確如此,但是軟件生產力實踐的專家是什么?有沒有一件可以產生巨大變化的關鍵事情?答案是有的!但是,即使我現在拿出來分享,一字一句講給你聽,可能你還是需要要花10年才能有足夠多的經驗來領悟它極致的簡單性。

是的,這就是發生在我身上的事情。 我上學時候的程序設計老師用通俗易懂的話給我講過一遍,并且用一些示例代碼一步步教我如何去運用它。 然而直到10年后,我才真正理解。 但是現在,憑借過往的經驗,我深深地體會到了這堂課的意義,我現在就分享給你。

這個秘密是平均生產率和10倍生產率之間的關鍵區別,如同杠桿一般,可以讓我們把效率提高幾個數量級。

生產率提高10倍的秘訣是學會如何抽象(Abstraction)。 許多開發人員將“抽象”視為一個臟話。 也許你會經常聽到這樣的建議,例如“不要過早抽象”或 Python 之禪中著名的“顯式勝于隱式”,這意味著具體(Concrete)要勝于抽象。 這些建議都是很有價值的,不過也得看問題的上下文。

現代應用程序的代碼量普遍很大。 如果我們把現代十大應用程序的源代碼打印出來,那么這些紙疊起來的高度將可以比得上一座摩天大樓,由此可以想象軟件的維護成本有多高。 也就是說,寫的代碼越多,成本就越高。

抽象是簡單代碼的關鍵

正確的抽象可以隱藏對當前上下文不重要的細節,并減少執行相同工作所需的代碼量(通常減少幾個數量級),從而使代碼更具可讀性,適應性和可維護性。

簡單就是去掉顯而易見的,加上有意義的。——John Maeda《簡單的法則》

抽象并不是一條單向路。 它實際上是由兩個互補的概念構成的:

  • 泛化(Generalization)——刪除重復的部分(顯而易見的部分)并將其隱藏在抽象后面。
  • 特化(Specialization)——將抽象應用于特定用例,僅添加需要不同的內容(有意義的內容)。

考慮以下代碼:

  1. const doubleList = (list) => { 
  2.   const newList = []; 
  3.   for (var i = 0; i < list.length; i++) { 
  4.     newList[i] = list[i] * 2; 
  5.   } 
  6.   return newList; 
  7. }; 

這些代碼本質上沒有錯,但其中包含許多瑣碎的細節,對于特定應用而言可能并不重要。

  • 它包含正在使用的容器/數據結構(數組)的詳細信息,這意味著它僅適用于數組。 它包含狀態形狀依賴性。
  • 它包含迭代邏輯,這意味著如果其他操作也需要訪問數據結構中的每個元素,則還需要在該代碼中重復非常相似的迭代邏輯,這就可能違反 DRY(Do not Repeat Yourself)原則。
  • 它包括一個顯式賦值,而不是以聲明方式描述要執行的操作,太冗長了。

這些都沒有必要。所有這些都可以隱藏在抽象后面。在這種情況下,這種非常通用的抽象方法改變了現代應用程序的構建方式,并減少了我們需要編寫的顯式for循環的數量。

當你帶著深刻的覺知觸及了一個事物, 你就觸及到了一切。——釋一行

 

通過使用 map 操作,我們可以通過刪除明顯的代碼(我們可能會在相似的代碼中重復的部分)并將代碼集中在有意義的代碼上(只是需要與我們使用的代碼有所不同的代碼),從而簡化成一行代碼:

  1. const doubleList = list => list.map(x => x * 2); 

初級程序員認為他們必須編寫大量代碼才能產生很多價值。而高級程序員了解無需編寫任何代碼的價值。

想象一下,作為一名程序員,他在像JavaScript這樣的編程語言中廣泛使用了map操作。Map 操作抽象了被操作的數據節點的類型,包含該數據的數據結構的類型以及每個數據節點的迭代邏輯。過去十年來,它提高了我開發的每個應用程序的效率。

Jeremy Ashkenas 使這些操作在 JavaScript 中變得很流行,并且通過開創性的 CoffeeScript,為目前 JavaScript 中理所當然的許多重要的快捷語法奠定了基礎。 他開發了 Underscore 和 Backbone,Underscore 產生了 Lodash(至今仍然是 JavaScript 中最受歡迎的工具庫之一),Backbone 則使 JavaScript 中的 MVC 架構得以普及,并為 Angular 和 React 奠定了基礎。

John Resig 開發了流行和有影響力的 jQuery,它形成了可重用的,封裝的 JavaScript 模塊(jQuery插件)的最大集合,直到幾年后標準的 Node 模塊和 ES6 模塊出現。jQuery 的選擇器 API 影響深遠,它構成了當今 DOM Selection API 的基礎。當我對 React 組件進行單元測試時,我仍然幾乎每天都會從 jQuery 的選擇 API 中受益。

正確的抽象是可以極大地影響生產力的強大杠桿。抽象不是一個臟話。模塊,函數,變量,類——所有這些都是抽象形式,它們存在的全部原因就是為了簡化抽象和抽象的構成。

沒有抽象就無法構建復雜的軟件,甚至匯編語言也使用抽象——指令的名稱,內存地址的變量,子例程(例如函數調用)跳轉到的代碼點等。現代軟件是有用的抽象的多層蛋糕,這些層為您提供了杠桿作用。

給我一根足夠長的杠桿和支撐它的支點,我將翹起整個地球。——阿基米德

 

簡單的關鍵就是:如何減少我們正在生產的代碼的數量,如何用更少的錢做更多的事情。掌握了這一點之后,您將成為10倍的程序員,我保證。

 

責任編輯:姜華 來源: 圖雀社區
相關推薦

2019-12-05 18:00:39

物聯網智能手表機器人

2014-11-24 10:48:49

OpenStack私有災難恢復

2021-04-22 15:55:56

UCaaS統一通信企業通信

2023-01-30 07:55:44

代碼過度設計

2016-02-17 09:06:42

代碼注釋代碼規范

2021-02-19 09:45:50

Python面向對象代碼

2021-03-04 13:25:22

Python面向對象代碼

2021-04-06 11:21:50

Python面向對象代碼

2015-04-23 16:21:23

2019-01-24 10:23:58

Web前端密碼加密

2020-06-04 08:05:06

物聯網客戶見解IOT

2011-08-23 09:00:47

可用性五個九

2016-02-17 10:01:36

編程代碼注釋

2011-09-09 10:31:40

Xen虛擬化linux內核

2022-02-28 22:52:56

混合云工具技術

2022-09-30 09:24:10

思維辦公IT

2023-08-30 08:04:03

架構前端應用程序

2021-05-21 10:33:37

數據中心數據存儲

2014-01-02 14:59:52

中顧保鏢私人定制

2016-10-24 15:41:37

點贊
收藏

51CTO技術棧公眾號

亚洲精品一级二级| 精品99一区二区| 1024av视频| av在线播放一区二区三区| 欧美二区在线看| 欧美一区综合| 狠狠色综合色区| 欧美激情视频一区二区三区在线播放| 99视频国产精品免费观看| 欧美成人有码| 国产 高清 精品 在线 a| 精品国产一区二区三区小蝌蚪 | 成年人在线视频免费观看| 亚洲va天堂va国产va久| 在线观看你懂得| 欧洲日韩一区二区三区| 狠狠干婷婷色| 婷婷开心久久网| а√最新版天堂中文在线| 调教+趴+乳夹+国产+精品| 精品影院一区| 精品国产一区二区三区av性色| 国产精欧美一区二区三区蓝颜男同| 日韩天堂在线观看| 松下纱荣子在线观看| 久久精品免费电影| 欧美精品一区二区久久| 国产成人在线亚洲欧美| 国产精品12345| 中文字幕在线观看一区二区| 日韩少妇内射免费播放| 成人a区在线观看| 黑粗硬长欧美在线视频免费的| 午夜视频久久久久久| 男人天堂手机在线| 亚洲欧美国内爽妇网| 精品视频在线观看网站| 国产在线视频欧美| 狠狠狠色丁香婷婷综合激情| 免费观看国产精品视频| 午夜欧美大尺度福利影院在线看| 番号在线播放| 日本乱人伦一区| 中文字幕在线视频区| 自拍视频国产精品| 亚洲国产老妈| 欧美在线观看成人| 欧美亚洲国产一区在线观看网站| 欧美性xxx| 亚洲伊人一本大道中文字幕| 国产成人精品免费网站| 在线91av| 久久五月天综合| 欧美福利专区| 午夜精品一区二区三区电影天堂 | 精品国产凹凸成av人导航| 在线观看亚洲精品福利片| 国产日本欧美一区| 久久精品免费看| 美臀av在线| 中文亚洲视频在线| 亚洲婷婷在线| juliaann成人作品在线看| 制服丝袜国产精品| sdde在线播放一区二区| 成人免费观看在线| 欧美视频在线不卡| 亚洲第一福利专区| 国产h视频在线播放| 欧美日韩国产一区二区三区地区| 色综合www| 国产爆乳无码一区二区麻豆| 欧美精品乱码久久久久久按摩| 亚洲综合小说图片| 精品少妇在线视频| 777亚洲妇女| 日韩欧美电影| 一女二男3p波多野结衣| 91精品国产丝袜白色高跟鞋| 国产精品22p| www婷婷av久久久影片| 欧美一区二区三区影视| 成人区精品一区二区婷婷| 欧美a在线视频| 亚洲精品第一页| 国产精品久久久久9999高清| 欧美一级片免费播放| 伊人婷婷欧美激情| 丝袜在线观看| 精品人伦一区二区三区| 日韩欧美国产黄色| 99热国内精品永久免费观看| 国产高清视频网站| 亚洲精品视频久久| 久久99久久| 亚洲一区二区久久久| 亚洲影音先锋| 日本中文字幕在线播放| 亚洲xxx大片| 国产精品麻豆久久久| 久九九久频精品短视频| 亚洲xxxx18| 激情懂色av一区av二区av| 色天天色综合| 欧美黑人经典片免费观看| 日韩电影中文字幕在线观看| 日韩高清不卡在线| 黑人精品视频| 一区二区精品视频| 精品国产免费久久| 激情综合在线| 国产视频一区二区| 日韩福利一区二区三区| 欧美v国产在线一区二区三区| 在线观看欧美理论a影院| 日本19禁啪啪吃奶大尺度| 欧美一区二区三区免费观看| 中文字幕不卡三区| 精品中文一区| 成人高清免费观看mv| 欧美午夜精品久久久久久蜜| 欧美日韩综合色| 欧美极度另类| 国产精品一区视频网站| 亚洲欧美在线视频观看| 国内精品久久久久久久久电影网| 深夜爽爽视频| 国产高清精品一区二区三区| 精品欧美乱码久久久久久| 狠狠色狠狠色综合系列| 欧美极品免费| 91专区在线观看| 97在线免费观看| 亚洲国产成人tv| 精品国精品国产自在久国产应用 | 91久久精品一区二区别| 日韩三级av在线播放| 最新亚洲一区| av小次郎在线| 精品综合久久| 国产亚洲精品久久久久动| 中文字幕不卡在线观看| 日韩久久精品| 人操人视频在线观看| 一本一道久久a久久综合精品| 色在人av网站天堂精品| 国产精品久久久久久久午夜片| 欧美精品综合| 亚洲精品一区av| 日本成人免费| 久久久久一区二区三区| 亚洲天堂成人在线视频| 一区二区三区在线观看视频| 久久aⅴ乱码一区二区三区| 人人九九精品视频| 毛片免费在线播放| 99er在线视频| 成人福利在线视频| 国产手机视频精品| 一区二区三区产品免费精品久久75| 高清精品在线| 99久久久精品免费观看国产| 精品久久国产老人久久综合| 91在线观看污| 911精品美国片911久久久| 波多视频一区| 资源视频在线播放免费| 你真棒插曲来救救我在线观看| 成人h视频在线| 麻豆国产va免费精品高清在线| 欧美小视频在线| 国产美女娇喘av呻吟久久| 91成人午夜| 午夜视频在线观看网站| 日韩a在线播放| 亚洲激情图片| 国产日韩换脸av一区在线观看| 深夜福利国产精品| 黄网站色欧美视频| 九色|91porny| 亚洲深深色噜噜狠狠爱网站| 成人激情久久| av2020不卡| av在线日韩国产精品| bdsm精品捆绑chinese| 99色精品视频| 俄罗斯精品一区二区| 韩剧1988免费观看全集| 日韩三级免费观看| 国产精品国产三级国产普通话三级 | 蜜桃精品视频在线| 欧美午夜网站| 日本不卡视频一区二区| 青青草成人免费在线视频| 欧美一级二级三级| 亚洲free嫩bbb| 国产一区深夜福利| 国产欧美精品va在线观看| 欧美一级高清免费播放| 久久久国产精品视频|