<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          寫代碼,如何變得更牛逼

          共 1102字,需瀏覽 3分鐘

           ·

          2021-04-28 16:01

          沒(méi)有哪個(gè)文壇巨匠天生下來(lái)就能寫出巨著來(lái),他們都是通過(guò)閱讀大量作品并參考借鑒最后形成自己獨(dú)特的風(fēng)格,其實(shí)寫程序也是一樣。

          現(xiàn)在很多優(yōu)秀的軟件庫(kù)都是開(kāi)源的,這給了我們可以零距離向大牛學(xué)習(xí)的機(jī)會(huì),閱讀源代碼給我們帶來(lái)的好處也是非常多的。

          1、學(xué)習(xí)代碼風(fēng)格

          優(yōu)秀的開(kāi)源軟件都來(lái)自于經(jīng)驗(yàn)非常豐富的老司機(jī)程序員之手,往往他們寫的代碼更規(guī)范、無(wú)論是從可讀性還是性能上經(jīng)過(guò)仔細(xì)斟酌,不斷優(yōu)化結(jié)果。比如著名的HTTP請(qǐng)求庫(kù)Requests就是一份不錯(cuò)的源碼學(xué)習(xí)典范,因?yàn)槔锩嬗薪炭茣?shū)似的 Pythonic 代碼。

          2、理解作者思路

          作者實(shí)現(xiàn)某個(gè)功能,通常是經(jīng)過(guò)多次重構(gòu)不斷改進(jìn)得以實(shí)現(xiàn)最優(yōu)的解決方案,那么我們可以思考作者為什么要這么做,比如Cpython里把小整數(shù)緩存到內(nèi)存中,提高系統(tǒng)性能,你不去看源代碼是不知道的,因?yàn)闀?shū)上很少會(huì)講到這些。再比如 Cpython中的垃圾算法為什么要使用別人都不用的引用計(jì)數(shù)法呢?因?yàn)闄?quán)衡利弊之后,引用計(jì)數(shù)是最簡(jiǎn)單的一種垃圾收集算法,再配合其他算法也能達(dá)到很好的效果。

          3、提升編程水平

          毫無(wú)疑問(wèn),通過(guò)閱讀源代碼,對(duì)自身的成長(zhǎng)是非常有幫助的,站在巨人的肩膀上,才看得比別人更遠(yuǎn)。閱讀優(yōu)秀的源代碼是提高編程水平的方式之一

          閱讀源代碼的誤區(qū)

          初學(xué)者閱讀源代碼容易陷入一種誤區(qū),認(rèn)為具備閱讀源代碼能力才牛逼,于是自己也扎進(jìn)代碼深淵,一開(kāi)始欣喜若狂,后來(lái)開(kāi)始迷失自我,有始無(wú)終,最后一無(wú)所獲,還打擊了自信心。

          主要原因是,現(xiàn)在的項(xiàng)目動(dòng)不動(dòng)就是幾萬(wàn)行的代碼,如果一行行的讀下去要不了幾分鐘就放棄了,其次,純粹的”讀”是沒(méi)用的,還需要有思考。那么如何正確地閱讀源代碼?

          閱讀源代碼的一些技巧

          高效閱讀源代碼,可以從以下幾個(gè)方面入手

          1、讀文檔

          任何一個(gè)優(yōu)秀的開(kāi)源項(xiàng)目標(biāo)配有完善的文檔,RTFM(Read The Fucking Manual)是了解開(kāi)源項(xiàng)目最好的方式之一,同時(shí)也為后面閱讀源代碼提供了基礎(chǔ)。

          2、找程序入口

          找到了文檔之后,就根據(jù)文檔找到程序的入口,從最簡(jiǎn)單的實(shí)例下手

          3、跑單元測(cè)試

          要想知道API怎么使用,除了可以查看文檔之外,另外一個(gè)武器就是跑單元測(cè)試,單元測(cè)試對(duì)每一個(gè)方法都做了邊界測(cè)試,通過(guò)閱讀測(cè)試代碼也能知道怎么樣去使用這些方法。

          4、找最早期版本

          往往最開(kāi)始的版本代碼是最簡(jiǎn)潔的,讀起來(lái)要輕松很多

          5、搜索一下網(wǎng)絡(luò)上看看是否有前人做些相關(guān)的總結(jié)。這也是很好的參考。

          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲视屏在线免费观看 | 亚洲在线观看视频在线观看 | 狠狠干视频在线 | 日韩无码久久电影 | 黑人大战久久 |