成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

成為一名更好的程序員:如何閱讀源代碼

開發(fā) 后端 前端
閱讀源代碼有許多益處。你會發(fā)現(xiàn)新的架構(gòu)(construct)和庫,與其他的代碼維護(hù)者產(chǎn)生共鳴,但最重要的是學(xué)會如何組織代碼,避免因內(nèi)部極其復(fù)雜而變得不可維護(hù)。

閱讀源代碼有許多益處。你會發(fā)現(xiàn)新的架構(gòu)(construct)和庫,與其他的代碼維護(hù)者產(chǎn)生共鳴,但最重要的是學(xué)會如何組織代碼,避免因內(nèi)部極其復(fù)雜而變得不可維護(hù)。

但是也有一個不好的地方,那就是閱讀源代碼太困難了。每當(dāng)我看到一個新的代碼庫(code base)時,這種讓人眩暈的感覺就充斥了我的大腦。我的內(nèi)心告訴我壓根不想趟眼前這趟渾水。

成為一名更好的程序員:如何閱讀源代碼

這是(希望是)正常的反應(yīng)。當(dāng)我們的大腦接觸過多的新東西,就會產(chǎn)生排斥。造物主賦予我們的這臺強(qiáng)大的模式匹配機(jī)器根本找不到規(guī)律。所有的抽象(abstraction)都是之前沒見過的,類的名稱也毫無印象。程序又到底是從什么地方開始執(zhí)行的?

對此,我能給出的一般性建議如下:1. 尋找并建立自己能夠理解的初步基礎(chǔ),通常就是主要的入口點(diǎn)(main entry point)。2. 從這個基礎(chǔ)開始,逐步探索主要功能。3. 記錄下自己的見聞。

從頭開始

竅門就是給自己一個起點(diǎn)。我是這樣做的。我通過-h選項(xiàng)運(yùn)行程序,并調(diào)用help命令。之后我復(fù)制其中一條help文檔字符串,以此為檢索詞搜索一遍代碼庫,找到這個幫助文檔所在地方。通常情況下,調(diào)用help命令之后你會發(fā)現(xiàn)離程序的主入口點(diǎn)很近了。

辨明輪廓

找到主入口點(diǎn)之后,我會運(yùn)行幾個文檔中提供的示例。然后,我會試著追蹤主要的代碼塊,大致了解下每個部分是如何連接起來的。

我會問自己,是否存在一個管理程序,負(fù)責(zé)調(diào)用一堆幫助函數(shù)和類?是不是有一些類是平級關(guān)系,相互之間輪流交換控制權(quán)?是不是有一個程序逐步執(zhí)行的主任務(wù)隊(duì)列?

了解全局有助于你理清小細(xì)節(jié)。如果你沒有理解程序的主流程就悶頭讀下去,那你很可能會被細(xì)枝末節(jié)搞得焦頭爛額。

勤做筆記

我習(xí)慣直接在代碼中做筆記。做筆記的時候,我會使用特殊的注釋符(例如,使用#=>,而非常用的#),這樣可以將我自己的筆記與原作者注釋區(qū)分開來。

如果碰到巧妙的技巧、不易理解的流程、編程架構(gòu)(construct)的漂亮使用方式或者是其他任何你想牢記的內(nèi)容,務(wù)必要做筆記。如果你讀不下去了,你也可以做個記錄,提醒自己之后要回去再讀看不懂的部分。

通過寫下你的思緒,你實(shí)際上是在把那塊代碼變成你自己寫的。慢慢地,你就會開始在工作中自然地用上新掌握的那些架構(gòu)(construct)。

融匯貫通

學(xué)習(xí)編程,是一個反復(fù)讀代碼和寫代碼的持續(xù)過程。只要你愿意接觸不同的風(fēng)格、代碼,最終你會形成自己的獨(dú)特視角和思維。

責(zé)任編輯:王雪燕 來源: codingpy
相關(guān)推薦

2015-11-30 08:57:07

源代碼閱讀程序員

2011-11-09 13:52:04

程序員

2019-01-28 11:54:28

程序員技能溝通

2015-05-15 10:39:44

Java 冠軍程序員?

2011-04-11 17:41:35

C++程序員

2017-09-21 09:44:00

編程程序員軟件開發(fā)

2011-05-03 08:54:36

2012-12-12 09:52:18

程序員

2021-02-21 13:49:48

Java程序員開發(fā)

2015-03-19 14:56:08

程序員專專家級的程序員

2022-09-30 10:32:59

API文檔

2011-05-23 15:18:34

程序員

2011-03-07 13:51:01

搜索程序員

2021-02-05 14:56:39

YouTube編程程序員

2021-03-12 16:17:37

程序員 女性主義兩性 價值觀

2015-06-04 11:31:36

程序員12周內(nèi)

2013-02-22 10:21:06

2009-11-04 11:54:33

程序員職業(yè)水準(zhǔn)

2021-01-03 10:30:54

編程程序員

2014-02-26 13:01:01

程序員趣聞
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品美女久久久久久免费 | 亚洲精品乱码久久久久久蜜桃 | 国产精品视频在线观看 | www.国产 | 日本污视频 | 伊人久麻豆社区 | 国内精品久久精品 | 国产一区二区毛片 | 久久青青 | 国产一区二区三区 | 亚洲天堂免费 | 国产一区二区精 | 成人小视频在线观看 | 我要看黄色录像一级片 | 国产片一区二区三区 | zzzwww在线看片免费 | av无遮挡 | 欧美国产免费 | h视频在线免费 | 国产精品久久久久久久久图文区 | 精品久久久久久久久久久 | 久久国产精品-国产精品 | 在线播放亚洲 | 俺去俺来也www色官网cms | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 黄视频免费在线 | 97人澡人人添人人爽欧美 | 国产免费一区二区三区 | 国产成人jvid在线播放 | 欧美久久久久久久久中文字幕 | 国产视频精品在线 | 国产一在线观看 | 亚洲欧美综合精品另类天天更新 | 久久久久久国产精品久久 | 亚洲视频在线看 | 国产精品视频久久久久 | 日本一二三区在线观看 | 电影在线 | 中国一级特黄毛片大片 | 午夜精品久久 | 日韩电影中文字幕 |