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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
多如牛毛的小類(lèi)

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

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

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

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

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

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

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

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

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

讓 我來(lái)問(wèn)你一個(gè)問(wèn)題:你是否經(jīng)常使用HashMap——或你喜歡的語(yǔ)言里等效的類(lèi)、方法?很可能每天要使用數(shù)次,不是嗎?但你會(huì)經(jīng)常的去查看HashMap 的源代碼嗎?估計(jì)幾乎從來(lái)沒(méi)有過(guò)吧!因?yàn)槲覀兌贾酪粋€(gè)Map能做什么,知道HashMap是map的一個(gè)最常用的實(shí)現(xiàn)類(lèi)。這就是所有我們需要知道的。我 們只是去用它。我們知道它的功能用法。我們知道當(dāng)它被使用時(shí)會(huì)發(fā)生什么。

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

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


網(wǎng)頁(yè)題目:多如牛毛的小類(lèi)
當(dāng)前路徑:http://m.5511xx.com/article/cogscdp.html