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

深入理解你的代碼才能成為優(yōu)秀的程序員

開發(fā) 后端 前端
事實證明,理解代碼是有其心理過程的,我們可以利用這方面的知識成為一名更優(yōu)秀的程序員。它能有助于你理解開發(fā)過程中的各個環(huán)節(jié),這樣你就不會因為編程中的技術(shù)瓶頸而裹足不前。

為什么有些程序員似乎有著一種神奇的能力,能夠在眨眼間提取代碼的意思?

為了回答這個問題,我先從科學(xué)的角度來研究我們理解代碼的過程。

事實證明,理解代碼是有其心理過程的,我們可以利用這方面的知識成為一名更優(yōu)秀的程序員。它能有助于你理解開發(fā)過程中的各個環(huán)節(jié),這樣你就不會因為編程中的技術(shù)瓶頸而裹足不前。

how-to-become-a-web-developer

本文將對有關(guān)編程理解的知識略有涉及,并從三個方面來討論如何利用這些知識成為一名更優(yōu)秀的程序員。

關(guān)于成為更優(yōu)秀的程序員的方法有三種:

首先,你得知道理解代碼的能力取決于三個方面:

  1. 知識——解決問題所需要的模塊

  2. 鏈接——模塊之間的膠水

  3. 假設(shè)——形成鏈接的工具

所以很顯然,提高編程能力需要更全面的方法途徑。

1.獲取更多的一般知識

既然理解代碼的能力依賴于現(xiàn)有知識與問題之間的匹配數(shù)量,那么由此我們可以推出,掌握的知識越多,成功的可能性越大。

作為程序員,我們很有必要花費大量的時間來獲取新知識。并且我們需要關(guān)注的,更多的是原理而不是技術(shù)。

考慮到這一點,讓我們來看看我們需要囊括其中的一些知識:

語言的具體知識

語言的具體知識是許多開發(fā)人員關(guān)注的重點。

了解語言和框架的底細(xì)。去了解API和語言結(jié)構(gòu),尋找陌生語言的不同之處,知道內(nèi)部的工作原理。

通常有很多課程和信息有助于我們掌握這方面的知識。

這類知識的問題是,不斷地會有新知識出現(xiàn)。新框架、語言的新版本……并且,時間越久,這方面的知識就越不值錢。

編程概念

這種類型的知識擁有更長的保質(zhì)期。

學(xué)校教育中的計算機科學(xué)學(xué)位用了大量的時間來講述這方面的內(nèi)容。在學(xué)習(xí)語言和框架的同時,也能學(xué)到概念知識。但是從語言和框架中學(xué)習(xí)概念有一個問題,那就是有時候你會很難將基本概念從它的語法表達中剝離開來。

不同的語言對某些概念的表達也有好有壞。所以了解幾個不同的框架和語言是有好處的。還有一種方法是先學(xué)概念,然后再去學(xué)習(xí)它是如何應(yīng)用于不同的語言的。但是這種途徑的教材和信息比較難找。編程概念包括諸如模式、算法、數(shù)據(jù)結(jié)構(gòu)等等。

領(lǐng)域知識

對行業(yè)的了解能為你提供一系列額外的非編程概念,可用于構(gòu)建心理模型。

2.更善于代碼和一般知識之間的匹配

充足的一般知識,能讓你得到更善于匹配。因為你知道如何從代碼中尋找線索,識別線索,并迅速提取代碼的含義。

學(xué)會識別代碼標(biāo)識

代碼標(biāo)識是一種能暗示基本概念的模式。這些模式可以跨越不同的復(fù)雜度。它們是一類能夠指引更高層次概念的代碼片段。

例如,當(dāng)你看到如下模式的代碼:

“ Iterate over the elements in an array
Put elements into a new array based on a condition

那么你就應(yīng)該知道你正在處理過濾器。

直接將這個代碼模塊定義為“過濾器”,而不是“使用if條件從舊數(shù)組中取一些項目放到新數(shù)組中的循環(huán)”,能夠避免走彎路的時間。

在傳統(tǒng)的軟件開發(fā)中,“模式”參考了經(jīng)典書籍《 Design Patterns: Elements of Reusable Object-Oriented Software》中的相關(guān)內(nèi)容。但是,代碼標(biāo)識雖然和設(shè)計模式有關(guān),但卻是不同的東西。

在以后的文章里,我將羅列一些代碼標(biāo)識,并解釋如何識別它們。

學(xué)習(xí)語言規(guī)則

所謂的語言規(guī)則指的是在框架和編程語言中使用的約定和編碼風(fēng)格。比如我們在Ruby和C#中的命名方式就是不一樣的。再如Rails喜歡使用MVC模式,但其他框架則不(例如Meteor.js)。

遵循語言規(guī)則編碼能讓代碼更易于理解。即使是專業(yè)人士也是如此。

語言規(guī)則是需要日積月累的,我們可以從代碼示例和同事身上學(xué)到這些規(guī)則。如果是新語言和框架,那就需要格外關(guān)注。

3.更善于制定和修改假設(shè)

一開始制定的假設(shè)越趨于正確,你就能越快地構(gòu)建起心理模式來。

使用系統(tǒng)化的方法

用系統(tǒng)化的方法來建立心理模型包括讀取每一行的代碼,重點構(gòu)建你需要的知識。此方法的效果最好,但對于大型的代碼庫未免有點不切實際。系統(tǒng)化的方法 最適用于那種規(guī)模大小可控的高度關(guān)鍵代碼。但是這樣的理想情況在現(xiàn)實世界中是很少見的。通常你需要處理的都是那些已經(jīng)經(jīng)過多年亂七八糟擴展的大型代碼庫。

使用投機型的方法

至于投機型的方法——尋找感興趣的代碼片段,對此代碼的目的做一個假設(shè),然后深入挖掘,看看你的假設(shè)是否正確。善于識別代碼標(biāo)識無論是在語法層面,還是在更高層次的抽象層面,都能有助于你形成更好的假設(shè)。

這方法當(dāng)然沒有全面理解代碼的效果好,但是相對的理解起來要快得多。這也很容易因為快速修復(fù)而破壞部分系統(tǒng),所以要小心。

要想成為世界級的程序員,你需要掌握以上三個方法

我們都希望自己能成為最好的程序員。而在當(dāng)今的技術(shù)世界里,要想有所成就,你就得跟上不斷出現(xiàn)的新框架和新理論的腳步。幸運的是,這是有捷徑可循的。如果你目的明確,并且能意識到自己的缺點,那么在相同的努力下,你可以獲得更大更快的進步。

在我看來,區(qū)分一個程序員是真的優(yōu)秀還是流于表面的優(yōu)秀,關(guān)鍵在于其對編程核心概念的理解。

歡迎評論。

責(zé)任編輯:王雪燕 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2015-04-08 11:09:28

優(yōu)秀程序員深入理解你的代碼

2011-07-13 15:23:22

程序員

2015-12-30 11:10:24

高級C++程序員

2015-07-28 09:17:23

程序員CEO

2012-07-20 09:41:43

2017-10-22 16:16:03

程序員編程代碼

2010-01-13 09:35:46

2011-07-15 16:57:43

AJAX

2019-11-11 09:02:51

MySQL數(shù)據(jù)庫索引

2018-10-26 15:30:49

程序員MySQL數(shù)據(jù)庫

2021-07-29 11:14:03

DevOpsLinux工程師

2016-03-04 11:06:20

更優(yōu)秀程序員

2012-12-28 09:58:50

程序員代碼編程

2020-09-02 07:15:13

ReactJavaScript框架

2012-03-09 09:02:33

2016-01-29 10:03:43

優(yōu)秀程序員黃金法則

2009-07-24 13:09:57

ASP.NET程序員

2016-03-28 10:01:45

優(yōu)秀程序員關(guān)鍵閱讀

2017-03-07 08:55:55

物聯(lián)網(wǎng)代碼數(shù)據(jù)泄露

2014-12-22 09:59:05

程序員
點贊
收藏

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

主站蜘蛛池模板: 免费国产视频在线观看 | 久久久久一区二区 | 日日骚网| 亚洲视频欧美视频 | 国产精品久久久久久婷婷天堂 | 综合一区 | 久久久久免费 | 做a网站 | 久久精品国产一区二区 | 中文字幕 在线观看 | 国产美女福利在线观看 | 一级黄片一级毛片 | 99精品免费 | 欧美在线观看一区 | 91精品国产91久久久久久最新 | 国产在线永久免费 | 久久的色 | 91精品久久 | 亚洲精品国产偷自在线观看 | 欧美中文字幕在线观看 | 一级毛片视频免费观看 | 国产免费一区二区三区 | 免费国产黄网站在线观看视频 | 一区二区三区四区国产 | 国产在线视频在线观看 | 午夜免费视频 | 一道本在线| 久草成人 | 91精品国产乱码久久久久久久久 | 国产1区2区在线观看 | 嫩草懂你的影院入口 | 久久久久国产精品人 | 国产婷婷色一区二区三区 | 超级黄色一级片 | 国产一区在线视频 | 中文字幕一区在线 | 国产成人精品网站 | 日韩一| 麻豆久久久9性大片 | 五月婷婷激情网 | 成人精品福利 |