日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
多如牛毛的小類

當(dāng)我在做“整潔代碼”培訓(xùn)或和同事討論問題時,這樣的爭端會一遍一遍的出現(xiàn):

“如果我把我的代碼全部拆分成這樣的小方法和小類,那我怎么在這么多東西中找一個想要的東西?我需要在幾十上百個文件中找來找去!”

這種觀點是有問題的,并不是他們說的不對。并且我的確有為了弄懂一個流程而在一堆的小類中仔細(xì)翻查代碼的經(jīng)歷。

如果你想徹底的理解一段代碼,如果所有代碼都能放在一起出現(xiàn)在屏幕上,這當(dāng)然是***的。你可以從頂部到底部一行一行的看完。如果這些代碼是拆分在大量的小方法和小類中,你需要跟蹤哪個方法來自哪個類,無形中增加了工作量。

但我仍然認(rèn)為這種觀點是錯誤的。問題在于,這種觀點的前提是你想去徹底的了解這些所有代碼。

可如果你想從一個更高層的視角,一個抽象的視角看你的代碼,那這種拆分是必不可少的。你不可能把所有的知識都放在你的大腦里。當(dāng)遇到一個不是那么簡單的編程任務(wù)時,完全徹底的理解所有的代碼是不可行的。

一個現(xiàn)實中的任務(wù)通常需要你這樣做的:

  1. 減少你需要理解的代碼量
  2. 盡可能的讓代碼好理解

這其中的關(guān)鍵就是對代碼進行提煉抽象!

讓 我來問你一個問題:你是否經(jīng)常使用HashMap——或你喜歡的語言里等效的類、方法?很可能每天要使用數(shù)次,不是嗎?但你會經(jīng)常的去查看HashMap 的源代碼嗎?估計幾乎從來沒有過吧!因為我們都知道一個Map能做什么,知道HashMap是map的一個最常用的實現(xiàn)類。這就是所有我們需要知道的。我 們只是去用它。我們知道它的功能用法。我們知道當(dāng)它被使用時會發(fā)生什么。

如果你能將你的方法和類進行像這樣的提煉抽象,大多數(shù)時候你根本不需要去看這些提煉出來的源代碼。你只需要看到它的名字就知道它在做什么。也許你不知道它是如何實現(xiàn)的,但你已經(jīng)知道如何使用它,如果你真的需要深入這些代碼研究,這個時候你才會遇到我們上面說的那種情況。

當(dāng)然,如果你的方法和類不能像HashMap那樣明了易懂,這說明它還有改進它的空間。


網(wǎng)頁標(biāo)題:多如牛毛的小類
文章轉(zhuǎn)載:http://m.5511xx.com/article/cogscdp.html