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

資訊專欄INFORMATION COLUMN

什么是編程的基本功?

william / 3198人閱讀

摘要:正是前人的努力,我們現在的編程才會如此的容易。讀懂他人代碼算法如果別人是大牛,數學學得很好,很多數學公式,很多遞歸,如果自己沒有一定的數學基礎,可能就暈了,這個時候,數學的基本功可能就會在這里發揮作用了。

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

查詢和閱讀文檔能力

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

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

教程文檔

技術參考文檔

第一手的英語文檔

代碼例子

教程文檔,是手把手教會你如何使用這個編程技術的重要文檔之一,是入門技術的重要教學資料,如果這個都不會看,那么就已經喪失了自學編程技術的能力了。

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

知道哪個 API 符合需求

知道哪個 API 接近自己需求,但需要進行數據轉換

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

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

英語能力

這里有另外一個基本功,就是英語能力。如果英語能力好,再結合英語版的教程文檔和英語版技術參考文檔,那么這項基本功會對你的編程水平提供很大的幫助。

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

數學

原因:編程到處都是數學的表現形式。就算你不懂數學,但當你編碼了,就是在做數學做的事情。
電腦其實就是數學的現實產物,方方面面都有著數學的元素在里面,有人說了,數學是藍瓶的最大值,這點我很認同。正是前人的努力,我們現在的編程才會如此的容易。但不代表數學現在不重要,編程就不要數學了。在編程中,處處可以看到數學的東西在里面。如果有了數學基礎,這些東西理解起來就會更加容易。先說說,編程基礎中的數學:

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

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

數學運算,這個和數學就一樣了

遞歸,也有一套自己的數學法則

而數學應用的地方就更多了:

2d / 3d 矢量制圖繪畫

加密解密算法

視頻圖片壓縮算法

文件壓縮算法

物理引擎

那么學好數學有什么好處呢:

理解
比如現在流行的函數式編程,就是數學中的函數積分的概念,如果數學學好的話,函數式里面的調用,運算,組合等概念就會非常容易理解了。

轉化
把一些算法轉化成代碼,像 RSA 的數學加密解密算法,都是先有理論,然后有人用代碼實現的。把數學算法看懂,轉化成可以應用的代碼或是 API 。

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

邏輯
編程中充滿了邏輯,邏輯不好就無法編程。正是由于編程中邏輯很多很重要,所以好好學習數學的邏輯運算,會對編程特別有幫助。因為可以通過運算,簡化你的邏輯條件,使得程序更高效,也可能更加容易讀懂,邏輯更加清晰。

分析
有了數學工具,可以進行數據分析,進行數據挖掘。當然也可以對代碼本身進行分析,分析其時間復雜度和空間復雜度,作為參考,進行更好的代碼優化。

讀代碼

原因:讀代碼不產生任何代碼,如果不能很好的理解現有代碼,又如何改進代碼,修正錯誤呢?

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

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

讀懂自己過去的代碼

是不是有這樣的經歷,代碼放6個月后自己去讀,可能都不知道當時為啥這樣寫。最好自己慢慢調試,最終明白自己當年寫這段代碼的思路是啥了。先讀懂自己過去的代碼,試著優化重構,提高過去代碼質量,就是提高了自己代碼能力了。

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

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

學習他人的優秀代碼結構

學習別人的代碼結構,看看別人如何使用數據結構,數據模式的。這樣可以轉化成自己的知識。

讀懂他人代碼算法

如果別人是大牛,數學學得很好,很多數學公式,很多遞歸,如果自己沒有一定的數學基礎,可能就暈了,這個時候,數學的基本功可能就會在這里發揮作用了。

破解糾錯

如果讀懂了別人的代碼,發現代碼有問題,有漏洞,可以破解,可以糾錯,然后把漏洞通知作者,也是提高自己能力的方法之一。當然在對付自己過去的代碼時候,也會發現破綻,只有讀懂了代碼,才能進行修復或者改進。

更多內容歡迎關注 LeanCloud通訊微信號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/50972.html

相關文章

  • 什么編程本功

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

    Acceml 評論0 收藏0
  • 什么編程本功

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

    lansheng228 評論0 收藏0
  • 什么編程本功

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

    bbbbbb 評論0 收藏0
  • 7天學會3門語言,第一天

    摘要:天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一個初學者首先關心的。 7天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說?對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一個初學者首先關心的。 網絡上,網友們爭...

    aristark 評論0 收藏0
  • 7天學會3門語言,第一天

    摘要:天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一個初學者首先關心的。 7天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說?對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一個初學者首先關心的。 網絡上,網友們爭...

    RebeccaZhong 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<