自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

多如牛毛的小類

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

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

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

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

[[107863]]

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

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

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

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

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

這其中的關鍵就是對代碼進行提煉抽象!

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

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

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

原文鏈接:http://blog.schauderhaft.de/2014/01/05/tons-of-small-classes/

譯文鏈接:http://www.aqee.net/tons-of-small-classes/

責任編輯:陳四芳 來源: 外刊IT評論
相關推薦

2011-11-22 09:27:45

Java開源工具

2022-02-24 08:36:43

編程語言計算機

2012-01-05 09:26:56

App Store作產(chǎn)品賺錢

2017-11-10 07:08:24

前端優(yōu)化策略

2018-07-31 11:35:56

白熊視頻 CTO說

2022-10-27 07:21:47

Linux性能頻率

2010-10-22 08:59:59

Web應用軟件

2011-05-23 18:01:19

外鏈

2009-09-09 16:20:48

CCNA學習方法與課程

2019-07-01 08:46:37

AI 數(shù)據(jù)人工智能

2016-08-15 13:34:37

React NativiOSjs入口

2021-11-06 10:44:44

網(wǎng)絡安全流行語勒索軟件

2010-05-26 11:14:10

服務器CPU

2019-10-22 08:30:26

LinuxFHS進程

2019-10-23 11:24:44

LinuxLinux目錄Linux系統(tǒng)

2009-06-30 14:11:43

2011-08-09 15:51:52

Windows7開始菜單

2020-09-28 14:01:50

網(wǎng)絡安全新冠疫情書籍

2009-06-02 16:12:20

白領職場培訓充電

2010-09-14 16:28:52

點贊
收藏

51CTO技術棧公眾號