国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

什么是編程的基本功?

bbbbbb / 527人閱讀

摘要:正是前人的努力,我們現(xiàn)在的編程才會(huì)如此的容易。讀懂他人代碼算法如果別人是大牛,數(shù)學(xué)學(xué)得很好,很多數(shù)學(xué)公式,很多遞歸,如果自己沒有一定的數(shù)學(xué)基礎(chǔ),可能就暈了,這個(gè)時(shí)候,數(shù)學(xué)的基本功可能就會(huì)在這里發(fā)揮作用了。

作者:caoglish
原文鏈接:http://t.cn/RKcyGX3
來源:知乎

查詢和閱讀文檔能力

原因:你使用編程來解決問題的時(shí)候,基本上最終的東西是代碼,但是編程的知識(shí)太廣,總有你不會(huì)的,總有你不了解的,總有你記不住的。這個(gè)時(shí)候,有文檔作為資料參考,就可以快速把別人的經(jīng)驗(yàn)知識(shí)轉(zhuǎn)化為自己的生產(chǎn)力和自己的代碼。

查詢閱讀文檔是可以分成很多部分。主要是以下幾個(gè)部分:

教程文檔

技術(shù)參考文檔

第一手的英語文檔

代碼例子

教程文檔,是手把手教會(huì)你如何使用這個(gè)編程技術(shù)的重要文檔之一,是入門技術(shù)的重要教學(xué)資料,如果這個(gè)都不會(huì)看,那么就已經(jīng)喪失了自學(xué)編程技術(shù)的能力了。

技術(shù)參考文檔,一般來說 API 的技術(shù)文檔我們說的比較多,很多 API 都沒有教程給出,要靠自己查詢文檔,再根據(jù)需求特點(diǎn)來使用 API 。這個(gè)相對(duì)教程文檔更加枯燥。而且這個(gè)水平我認(rèn)為還分幾種情況(當(dāng)然有能力自己編寫一個(gè),不靠文檔的情況不在這里的考慮范圍之內(nèi)):

知道哪個(gè) API 符合需求

知道哪個(gè) API 接近自己需求,但需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換

不知道有沒有 API 符合自己需求的,但能找到一個(gè)API 接近自己需求的

不知道有沒有 API 符合自己需求的,也不知道怎么找的

英語能力

這里有另外一個(gè)基本功,就是英語能力。如果英語能力好,再結(jié)合英語版的教程文檔和英語版技術(shù)參考文檔,那么這項(xiàng)基本功會(huì)對(duì)你的編程水平提供很大的幫助。

讀第一手英語資料也是很重要的。我最愿意讀的文檔資料是 PHP 的官網(wǎng)和 jQuery 的官網(wǎng)。PHP 的官網(wǎng)的文檔非常有意思,不但自己寫詳細(xì)的 API 說明,有例子,底下還有很多用戶在提供很多相關(guān)的信息和使用 API 的技巧。英語資料的好處是細(xì)致,理解簡(jiǎn)單,而且更新快,甚至你可以和寫文檔的人進(jìn)行交流。

數(shù)學(xué)

原因:編程到處都是數(shù)學(xué)的表現(xiàn)形式。就算你不懂?dāng)?shù)學(xué),但當(dāng)你編碼了,就是在做數(shù)學(xué)做的事情。
電腦其實(shí)就是數(shù)學(xué)的現(xiàn)實(shí)產(chǎn)物,方方面面都有著數(shù)學(xué)的元素在里面,有人說了,數(shù)學(xué)是藍(lán)瓶的最大值,這點(diǎn)我很認(rèn)同。正是前人的努力,我們現(xiàn)在的編程才會(huì)如此的容易。但不代表數(shù)學(xué)現(xiàn)在不重要,編程就不要數(shù)學(xué)了。在編程中,處處可以看到數(shù)學(xué)的東西在里面。如果有了數(shù)學(xué)基礎(chǔ),這些東西理解起來就會(huì)更加容易。先說說,編程基礎(chǔ)中的數(shù)學(xué):

函數(shù) / 方法,數(shù)學(xué)就有函數(shù)概念 y=f(x) ,f 就是函數(shù),x 就是輸入,y 就是輸出

邏輯布爾值,if 和 while 都需要有一定的邏輯判定,而數(shù)學(xué)的邏輯學(xué)在這里就很有用了

數(shù)學(xué)運(yùn)算,這個(gè)和數(shù)學(xué)就一樣了

遞歸,也有一套自己的數(shù)學(xué)法則

而數(shù)學(xué)應(yīng)用的地方就更多了:

2d / 3d 矢量制圖繪畫

加密解密算法

視頻圖片壓縮算法

文件壓縮算法

物理引擎

那么學(xué)好數(shù)學(xué)有什么好處呢:

理解
比如現(xiàn)在流行的函數(shù)式編程,就是數(shù)學(xué)中的函數(shù)積分的概念,如果數(shù)學(xué)學(xué)好的話,函數(shù)式里面的調(diào)用,運(yùn)算,組合等概念就會(huì)非常容易理解了。

轉(zhuǎn)化
把一些算法轉(zhuǎn)化成代碼,像 RSA 的數(shù)學(xué)加密解密算法,都是先有理論,然后有人用代碼實(shí)現(xiàn)的。把數(shù)學(xué)算法看懂,轉(zhuǎn)化成可以應(yīng)用的代碼或是 API 。

優(yōu)化
一些算法其實(shí)用數(shù)學(xué)公式就可以完成,而不需要邏輯流程。最近的有一個(gè)例子就很明顯了,我編寫了兩個(gè)比特單位轉(zhuǎn)化程序,第一次是用 while 和 if 寫成的,第二次是用數(shù)學(xué)公式寫成的,數(shù)學(xué)的優(yōu)化特性就在里面顯示出來了。

邏輯
編程中充滿了邏輯,邏輯不好就無法編程。正是由于編程中邏輯很多很重要,所以好好學(xué)習(xí)數(shù)學(xué)的邏輯運(yùn)算,會(huì)對(duì)編程特別有幫助。因?yàn)榭梢酝ㄟ^運(yùn)算,簡(jiǎn)化你的邏輯條件,使得程序更高效,也可能更加容易讀懂,邏輯更加清晰。

分析
有了數(shù)學(xué)工具,可以進(jìn)行數(shù)據(jù)分析,進(jìn)行數(shù)據(jù)挖掘。當(dāng)然也可以對(duì)代碼本身進(jìn)行分析,分析其時(shí)間復(fù)雜度和空間復(fù)雜度,作為參考,進(jìn)行更好的代碼優(yōu)化。

讀代碼

原因:讀代碼不產(chǎn)生任何代碼,如果不能很好的理解現(xiàn)有代碼,又如何改進(jìn)代碼,修正錯(cuò)誤呢?

讀代碼是一件非常困難的事情,甚至可能比寫代碼還困難。很多人更喜歡自己重寫,也不愿意去讀別人的代碼。但是實(shí)際工作中,可能更多的是維護(hù)舊代碼,公司也沒有時(shí)間和資源去支持你編寫新的代碼。而學(xué)習(xí)編程,更多的是在讀別人代碼過程中去學(xué)習(xí)。

所以在編程過程中讀懂代碼卻真的是一項(xiàng)非常重要,卻容易忽視的能力。

讀懂自己過去的代碼

是不是有這樣的經(jīng)歷,代碼放6個(gè)月后自己去讀,可能都不知道當(dāng)時(shí)為啥這樣寫。最好自己慢慢調(diào)試,最終明白自己當(dāng)年寫這段代碼的思路是啥了。先讀懂自己過去的代碼,試著優(yōu)化重構(gòu),提高過去代碼質(zhì)量,就是提高了自己代碼能力了。

讀他人代碼思路
自己寫的都可能不記得思路了,那么從頭開始看別人寫的代碼就更加困難了。

讀別人代碼,更多的是了解思考,為什么別人那么寫,為什么這樣寫的好處。理清思路,畫出流程圖,可能會(huì)更好的理解他人的代碼。

學(xué)習(xí)他人的優(yōu)秀代碼結(jié)構(gòu)

學(xué)習(xí)別人的代碼結(jié)構(gòu),看看別人如何使用數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)模式的。這樣可以轉(zhuǎn)化成自己的知識(shí)。

讀懂他人代碼算法

如果別人是大牛,數(shù)學(xué)學(xué)得很好,很多數(shù)學(xué)公式,很多遞歸,如果自己沒有一定的數(shù)學(xué)基礎(chǔ),可能就暈了,這個(gè)時(shí)候,數(shù)學(xué)的基本功可能就會(huì)在這里發(fā)揮作用了。

破解糾錯(cuò)

如果讀懂了別人的代碼,發(fā)現(xiàn)代碼有問題,有漏洞,可以破解,可以糾錯(cuò),然后把漏洞通知作者,也是提高自己能力的方法之一。當(dāng)然在對(duì)付自己過去的代碼時(shí)候,也會(huì)發(fā)現(xiàn)破綻,只有讀懂了代碼,才能進(jìn)行修復(fù)或者改進(jìn)。

更多內(nèi)容歡迎關(guān)注 LeanCloud通訊微信號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/112253.html

相關(guān)文章

  • 什么編程本功

    摘要:正是前人的努力,我們現(xiàn)在的編程才會(huì)如此的容易。讀懂他人代碼算法如果別人是大牛,數(shù)學(xué)學(xué)得很好,很多數(shù)學(xué)公式,很多遞歸,如果自己沒有一定的數(shù)學(xué)基礎(chǔ),可能就暈了,這個(gè)時(shí)候,數(shù)學(xué)的基本功可能就會(huì)在這里發(fā)揮作用了。 作者:caoglish原文鏈接:http://t.cn/RKcyGX3來源:知乎 查詢和閱讀文檔能力 原因:你使用編程來解決問題的時(shí)候,基本上最終的東西是代碼,但是編程的知識(shí)太廣,總...

    Acceml 評(píng)論0 收藏0
  • 什么編程本功

    摘要:正是前人的努力,我們現(xiàn)在的編程才會(huì)如此的容易。讀懂他人代碼算法如果別人是大牛,數(shù)學(xué)學(xué)得很好,很多數(shù)學(xué)公式,很多遞歸,如果自己沒有一定的數(shù)學(xué)基礎(chǔ),可能就暈了,這個(gè)時(shí)候,數(shù)學(xué)的基本功可能就會(huì)在這里發(fā)揮作用了。 作者:caoglish原文鏈接:http://t.cn/RKcyGX3來源:知乎 查詢和閱讀文檔能力 原因:你使用編程來解決問題的時(shí)候,基本上最終的東西是代碼,但是編程的知識(shí)太廣,總...

    lansheng228 評(píng)論0 收藏0
  • 什么編程本功

    摘要:正是前人的努力,我們現(xiàn)在的編程才會(huì)如此的容易。讀懂他人代碼算法如果別人是大牛,數(shù)學(xué)學(xué)得很好,很多數(shù)學(xué)公式,很多遞歸,如果自己沒有一定的數(shù)學(xué)基礎(chǔ),可能就暈了,這個(gè)時(shí)候,數(shù)學(xué)的基本功可能就會(huì)在這里發(fā)揮作用了。 作者:caoglish原文鏈接:http://t.cn/RKcyGX3來源:知乎 查詢和閱讀文檔能力 原因:你使用編程來解決問題的時(shí)候,基本上最終的東西是代碼,但是編程的知識(shí)太廣,總...

    william 評(píng)論0 收藏0
  • 7天學(xué)會(huì)3門語言,第一天

    摘要:天入門三門編程語言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說對(duì)于想學(xué)好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 7天入門三門編程語言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說?對(duì)于想學(xué)好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)...

    aristark 評(píng)論0 收藏0
  • 7天學(xué)會(huì)3門語言,第一天

    摘要:天入門三門編程語言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說對(duì)于想學(xué)好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 7天入門三門編程語言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說?對(duì)于想學(xué)好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)...

    RebeccaZhong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<