亚洲国产成人精品久久_欧美日韩国产综合一区二区_亚洲精品理论电影_色综合久久中文字幕

學(xué)會這11個主要元知識概念,媽媽再也不用擔(dān)心我的代碼編寫啦!

放大字體  縮小字體 發(fā)布日期:2019-12-14  來源:來自互聯(lián)網(wǎng)  作者:來自互聯(lián)網(wǎng)  瀏覽次數(shù):258
導(dǎo)讀

二叉樹是每個節(jié)點(diǎn)都有兩個子節(jié)點(diǎn)連接的樹,它創(chuàng)建了一個可以追溯到最頂端的金字塔樣式圖。 動態(tài)編程的關(guān)鍵點(diǎn)在于,它對遞歸的使用意味著一個問題只會被解決一次,并且可以優(yōu)化工作負(fù)載,而不是根據(jù)特定的重復(fù)算法來組合…

全文共3226字,預(yù)計學(xué)習(xí)時長10分鐘

全文共3226字,預(yù)計學(xué)習(xí)時長10分鐘

圖源:Pexels

在小芯認(rèn)識的程序員之中,大部分人都更注重實(shí)操實(shí)踐,對于知識點(diǎn)的學(xué)習(xí)沒有那么在意,雖然那些基礎(chǔ)知識常常在編碼中發(fā)揮不可取代的作用,但還是難以逃脫被人們看輕或忽視的命運(yùn)。

當(dāng)然現(xiàn)在也出了很多知識學(xué)習(xí),指南指導(dǎo)類的文章或者課程,成為大家“投機(jī)取巧”、短時間掌握大量核心知識的“捷徑”。

并不是說這種“捷徑”不好。

在大多數(shù)情況下,有很多指南都是可以參考的,它們能夠指導(dǎo)讀者學(xué)習(xí)那些最熱門的語言以及最熱門的知識,從而使讀者成為行業(yè)的佼佼者。

盡管這些指南可能有用,但它們僅引導(dǎo)讀者獲得表面價值。這些指南提供了淺層次的學(xué)習(xí)路線,如果想要往更深層次發(fā)展,還是需要自己去慢慢實(shí)踐和探索。

因此,小芯今天幫大家整理了能“獲得成為一個真正有效的開發(fā)人員所需的深度知識“。

但是這些生僻的編程“元”知識,仍需要讀者自己去主動潛心鉆研。

編程元知識是計算機(jī)科學(xué)專業(yè)畢業(yè)生必學(xué)的東西,而自學(xué)者經(jīng)常會漏掉這些知識點(diǎn)。編程元知識是查看和編寫代碼的基礎(chǔ)。

圖片由Aphinya Dechalert拍攝-這些都是“元”

本文提供一份清單式的指南,好讓讀者在這些新鮮好奇的知識行囊里進(jìn)行瀏覽和挑選。

綜合指南(絕大部分與語言無關(guān))

全局圖—:Aphinya Dechalert撰寫

1. 數(shù)組!因?yàn)橐磺卸际菙?shù)據(jù)

幾乎在每個教程中,都會遇到一個非常簡單的數(shù)組版本。比如熟知的扁平的一維數(shù)組,包含少許元素。但是在現(xiàn)實(shí)生活中,還有更多的種類,形狀和具有奇異性的數(shù)據(jù)可以以數(shù)組形式呈現(xiàn)。

當(dāng)涉及到生產(chǎn)級數(shù)據(jù)集時,多維數(shù)組和交錯數(shù)組是經(jīng)常使用的類型。如何優(yōu)化這些數(shù)組的結(jié)構(gòu)以供創(chuàng)建和使用,決定著開發(fā)人員是否能高效地執(zhí)行任務(wù)。

2. 談?wù)勊惴?/p>

每個人都在談?wù)摗八惴ā保路鹚且粋€被AI喚醒的神秘物體,會給所有人帶來厄運(yùn)。 或許這只是廣大民眾的一種看法。

在開發(fā)人員踏入編程的潮流前,算法只是編程中一系列實(shí)現(xiàn)特定結(jié)果的可重復(fù)規(guī)則。

當(dāng)涉及到算法時,了解排序算法的機(jī)制可以幫助開發(fā)人員在處理大量數(shù)據(jù)時保持清醒。

有些時候,面臨的是數(shù)據(jù)和數(shù)據(jù)處理問題。如果熟悉為特定類型的數(shù)據(jù)進(jìn)行設(shè)計和測試的方法,那么就能減少對列表的sort()等方法的依賴。

這是因?yàn)閟ort()傾向于運(yùn)行自己的算法,而該算法可能因繪制引擎而異。當(dāng)編寫自己的算法時,就可以更好地控制通過代碼處理的數(shù)據(jù)的質(zhì)量和速度。

3. SOLID設(shè)計原則

SOLID是編程中五項(xiàng)設(shè)計原則的集合。這五項(xiàng)原則是可以實(shí)現(xiàn)面向?qū)ο缶幊痰哪J健?/p>

SOLID原則的有用之處在于提升代碼靈活性、長期可維護(hù)性,以及加強(qiáng)對開發(fā)人員間工作完成方式的全面理解。

除了創(chuàng)立健壯的代碼之外,SOLID還形成了敏捷軟件開發(fā)的核心理念。

4. 測試

不要僅僅學(xué)習(xí)如何測試,更要學(xué)會研究測試背后的理論。當(dāng)進(jìn)行測試時,開發(fā)人員傾向于僅僅關(guān)注單元測試,而不去弄清楚整體意識形態(tài)的機(jī)制,以及它們?yōu)槭裁词谴a穩(wěn)健的基礎(chǔ)。

測試分為基于功能的測試和非功能性測試,如性能、安全性、可用性和兼容性測試。這些測試通常具有較低優(yōu)先級,或者根本未被考慮。

重要的是,測試還能讓開發(fā)人員運(yùn)行假設(shè)的場景并預(yù)先確定數(shù)據(jù)的形態(tài),以及在開始編碼之前預(yù)測潛在的問題。

圖源:Pexels

5. 樹

有些時候會聽到關(guān)于“樹”的內(nèi)容。這里的“樹”不是指通常生長在泥土中并提供氧氣的植物,而是基于關(guān)系基礎(chǔ)結(jié)構(gòu)——通過節(jié)點(diǎn)、葉節(jié)點(diǎn)、子節(jié)點(diǎn)、父節(jié)點(diǎn)和兄弟節(jié)點(diǎn)訪問,從而構(gòu)建數(shù)據(jù)。

如果使用過HTML,就會聽說過DOM樹。那是一種樹的類型。二叉樹是每個節(jié)點(diǎn)都有兩個子節(jié)點(diǎn)連接的樹,它創(chuàng)建了一個可以追溯到最頂端的金字塔樣式圖。

但是,樹的意義遠(yuǎn)不止這些,它還與性能、處理數(shù)據(jù)以及如何快速檢索數(shù)據(jù)有關(guān)。

6. 動態(tài)編程

動態(tài)編程是一種通過遞歸方式,將復(fù)雜問題分解為可能的最小子問題,來解決復(fù)雜問題的方法。這是一種編程技術(shù),可用于多個學(xué)科,而不僅限于代碼。

動態(tài)編程的關(guān)鍵點(diǎn)在于,它對遞歸的使用意味著一個問題只會被解決一次,并且可以優(yōu)化工作負(fù)載,而不是根據(jù)特定的重復(fù)算法來組合事物。

最初,因?yàn)楹芟袼惴ǎ瑒討B(tài)編程的概念可能會讓人困惑。但是動態(tài)編程和算法有著顯著的不同,有著不同的機(jī)制原理,從長遠(yuǎn)來看,學(xué)習(xí)動態(tài)編程可以幫助開發(fā)人員成為一個更好的程序員。

7. 散列表 (Hash Table)?(與土豆煎餅 (Hashbrowns) 無關(guān))

程序以一種易于訪問和理解的方式組織大量數(shù)據(jù)。散列表是存儲和檢索數(shù)據(jù)的另一種方法。

當(dāng)涉及大型數(shù)據(jù)集(有數(shù)百萬個的數(shù)據(jù)點(diǎn))并且需要快速檢索數(shù)據(jù)時,散列表是常見的選擇。但同時散列表也能對本地應(yīng)用程序存儲中較小的數(shù)據(jù)集進(jìn)行設(shè)計,以提高效率并對特定集進(jìn)行分類。

8. 二分搜索法

又回到了另一個與數(shù)據(jù)相關(guān)的話題。二分搜索是一個值得探索的重要話題,因?yàn)樗c性能有關(guān)。

為了使二分搜索工作正常進(jìn)行,必須要對需搜索的數(shù)據(jù)集進(jìn)行預(yù)排序,以使算法能夠快速遍歷每個數(shù)據(jù)點(diǎn)并確定是否匹配。

關(guān)于二分搜索,有多種方法能夠?qū)崿F(xiàn)它,通常是算法和遞歸的混合。二分搜索的思想可以應(yīng)用于不同的語言,它更多的是一種基于數(shù)學(xué)推理的技巧,而不是實(shí)際的代碼。

9. 認(rèn)真對待進(jìn)程、線程和并發(fā)

當(dāng)開始關(guān)注進(jìn)程、線程和并發(fā)時,這意味著已經(jīng)開始深入編程了。

然而,因?yàn)檫M(jìn)程、線程和并發(fā)主要面向后端開發(fā)人員,但作為一個前端開發(fā)人員,可能從未遇到過這些問題,但對它們的工作原理有所了解仍然是一件好事。因?yàn)檫@有助于全面了解計算機(jī)的工作原理,以及代碼是如何作為人類、繪制引擎/解釋引擎和機(jī)器之間的通信橋梁進(jìn)行工作的。

了解這些概念還能幫助你了解儲存系統(tǒng)的工作方式以及編寫的代碼對性能的影響。

圖源:Pexels

10. 鏈表

除非使用C ++或Python,否則不太可能會運(yùn)用到鏈表。雖然鏈表看起來與數(shù)組十分相似,但是鏈表有著不同于數(shù)組的特定優(yōu)點(diǎn)和缺點(diǎn)。

如果開始深入研究數(shù)據(jù)是如何以鏈表的形式顯示的,就會發(fā)現(xiàn)它非常適用于大型數(shù)據(jù)集工作,因?yàn)樗娜萘渴菬o限的。

如果數(shù)據(jù)過于龐大,最終需要調(diào)整數(shù)組的大小。而鏈表可以保持?jǐn)?shù)據(jù)之間的“鏈接”。

11. 設(shè)計模式的藝術(shù)

一切都可以歸結(jié)為一個模式。后退一步,著眼全局,并確定以前是否遇到相同問題,然后設(shè)計模式就得以實(shí)現(xiàn)了。

如果可能的話,則推薦使用設(shè)計模式來節(jié)省時間,防止?jié)撛诘膯栴}進(jìn)一步發(fā)展,并為代碼編寫過程創(chuàng)建標(biāo)準(zhǔn)。

雖然設(shè)計模式看起來是一個需要學(xué)習(xí)的大領(lǐng)域,但它也會帶來良好的投資回報,因?yàn)閷?shí)際上減少了將來由于結(jié)構(gòu)缺乏或結(jié)構(gòu)較弱而可能從代碼中出現(xiàn)的百搭碼文的數(shù)量。

在某種意義上,設(shè)計模式就好比一個預(yù)先設(shè)計的藍(lán)圖,有助于在不斷的實(shí)踐應(yīng)用中保持代碼的可讀性和可理解性。

結(jié)語

編程不僅僅是學(xué)習(xí)一門語言的工作原理。語言、框架、庫背后還隱藏著機(jī)制和技巧。

希望這份元知識指南能讓大家對編碼有更為全面的了解,并且不局限于……嗯,代碼本身。

If else 語句會使很多剛?cè)腴T的程序員感到困惑,但掌握if else 語句也是證明知識積累與應(yīng)用達(dá)到新高度的標(biāo)志。

不必完全理解所有的內(nèi)容,但這些知識點(diǎn)可以有助于未來的程序編寫。

知道或至少了解上述主題如何發(fā)揮作用并融入全局,將有助于加快編碼過程,并提高所創(chuàng)建代碼的潛在健壯性,以防出現(xiàn)殘缺和衰退。

加油,各位機(jī)智的天才程序員們!

留言 點(diǎn)贊 關(guān)注

我們一起分享AI學(xué)習(xí)與發(fā)展的干貨

編譯組:吳亞芳、李韻帷

相關(guān)鏈接:

https://medium/better-programming/a-comprehensive-guide-on-the-meta-knowledge-you-need-to-accelerate-your-code-creation-process-d0f5f3b67473

如需轉(zhuǎn)載,請后臺留言,遵守轉(zhuǎn)載規(guī)范

 
 
免責(zé)聲明
本文為會員免費(fèi)發(fā)布,僅代表發(fā)布者個人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理。
 
 
主站蜘蛛池模板: 久久天天躁狠狠躁夜夜躁2014| 日本欧美在线视频| 国产精品免费观看高清| 国产成人中文字幕| 日韩欧美国产免费| 国产精品av网站| 久久久久久久久久久视频| 亚洲色欲久久久综合网东京热| 国产精品一区二区不卡视频| 欧美大香线蕉线伊人久久国产精品| 日韩亚洲欧美中文在线| 91精品视频在线| 不卡一区二区三区视频| 国产日韩一区欧美| 精品视频一区在线| 精品视频导航| 狠狠干 狠狠操| 精品激情国产视频| 国产自产在线视频一区| 久久久久久午夜| 久久中文字幕国产| 欧美激情精品久久久久久| 欧美大香线蕉线伊人久久国产精品| 欧洲精品久久| 久久综合九九| 国产在线一区二区三区欧美 | 国产精品免费成人| 国产在线日韩在线| 久久福利视频网| 久久riav| 国产精品视频自在线| 国产精品日韩在线| 国产成人精品在线播放| 国产在线欧美日韩| 国产日韩欧美另类| 国产精品视频久久| 91免费欧美精品| 日本一区视频在线观看| 免费不卡在线观看av| 国产一区深夜福利| 国产精品高清在线|