有途網(wǎng)

初學(xué)者看懂代碼的方法

岳春陽(yáng)2022-02-13 11:18:29

初學(xué)者要看懂代碼首先從要需求分析了解,然后是系統(tǒng)分析,最后是塊的理解??炊a其實(shí)不難,大抵不過(guò)是選擇,分支,循環(huán)。語(yǔ)法如果看不懂,那就需要補(bǔ)補(bǔ)基礎(chǔ),先弄清楚這段代碼要做什么,有說(shuō)明最好,可以幫助理解,沒(méi)有說(shuō)明就試著過(guò)一下代碼流程。

初學(xué)者看懂代碼的方法

初學(xué)者怎樣看懂代碼

1、選定方向

編程的世界是多元紛繁的,大的方向就分前端開(kāi)發(fā)、后端開(kāi)發(fā)、移動(dòng)開(kāi)發(fā)、云計(jì)算、數(shù)據(jù)處理、智能硬件、物聯(lián)網(wǎng)、虛擬現(xiàn)實(shí)等等,光編程語(yǔ)言都幾十種。如果沒(méi)有做過(guò)功課,貿(mào)然進(jìn)入只會(huì)分分鐘懵逼。所以最好是根據(jù)自己的興趣愛(ài)好再結(jié)合市場(chǎng)前景,先選定一個(gè)方向,再選擇一門語(yǔ)言,然后頭也不回的深深扎進(jìn)去。

2、優(yōu)化學(xué)習(xí)方式

做好筆記,記錄經(jīng)驗(yàn),我們大多數(shù)人并沒(méi)有過(guò)目不忘的神技,很多時(shí)候我們學(xué)了也不一定馬上掌握,需要過(guò)后花時(shí)間慢慢領(lǐng)悟,而且還有忘掉的風(fēng)險(xiǎn),所以對(duì)于重要的知識(shí)點(diǎn)都要做好筆記。

3、多看官方文檔,外文資料互聯(lián)網(wǎng)是一個(gè)更新迭代很快的行業(yè),所有編程語(yǔ)言都會(huì)不斷的更新新功能和修復(fù)舊Bug,網(wǎng)上查的資料很有可能是舊的解決方案,現(xiàn)在已經(jīng)不適用了。所以最好最快的方法就是查看官方文檔。

4、動(dòng)手做項(xiàng)目學(xué)習(xí)編程的最終目的就是用所學(xué)的做出具有一定功能的項(xiàng)目,而做項(xiàng)目又是最好的學(xué)習(xí)和鞏固知識(shí)的方式。如果前期能力不足就先做一些簡(jiǎn)單的功能模塊,一步一步慢慢來(lái),不要一開(kāi)始就要實(shí)現(xiàn)各種酷炫炸天功能,遇到不會(huì)的就在網(wǎng)上查,現(xiàn)在互聯(lián)網(wǎng)這么發(fā)達(dá),獲取資源也極其方便。

網(wǎng)頁(yè)代碼架構(gòu)的分類

邏輯架構(gòu):邏輯架構(gòu)關(guān)注的是功能,包含用戶直接可見(jiàn)的功能,還有系統(tǒng)中隱含的功能?;蛘吒油ㄋ讈?lái)描述,邏輯架構(gòu)更偏向我們?nèi)粘K斫獾摹胺謱印?,把一個(gè)項(xiàng)目分為“表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層”這樣經(jīng)典的“三層架構(gòu)”。

開(kāi)發(fā)架構(gòu):開(kāi)發(fā)架構(gòu)則更關(guān)注程序包,不僅僅是我們自己寫的程序,還包括應(yīng)用程序依賴的SDK、第三方類庫(kù)、中間價(jià)等。尤其是像目前主流的Java、.NET等依靠虛擬機(jī)的語(yǔ)言和平臺(tái),以及主流的基于數(shù)據(jù)庫(kù)的應(yīng)用,都會(huì)比較關(guān)注。和邏輯架構(gòu)有緊密的關(guān)聯(lián)。

運(yùn)行架構(gòu):顧名思義,更關(guān)注的是應(yīng)用程序運(yùn)行中可能出現(xiàn)的一些問(wèn)題。例如并發(fā)帶來(lái)的問(wèn)題,比較常見(jiàn)的“線程同步”問(wèn)題、死鎖問(wèn)題、對(duì)象創(chuàng)建和銷毀(生命周期管理)問(wèn)題等等。開(kāi)發(fā)架構(gòu),更關(guān)注的是飛機(jī)起飛之前的一些準(zhǔn)備工作,在靜止?fàn)顟B(tài)下就能規(guī)劃好做好的,而運(yùn)行架構(gòu),更多考慮的是飛機(jī)起飛之后可能發(fā)生的一些問(wèn)題。

物理架構(gòu):物理架構(gòu),更關(guān)注的系統(tǒng)、網(wǎng)絡(luò)、服務(wù)器等基礎(chǔ)設(shè)施。例如:如何通過(guò)服務(wù)器部署和配置網(wǎng)絡(luò)環(huán)境,來(lái)實(shí)現(xiàn)應(yīng)用程序的“可伸縮性、高可用性”?;蛘吲e一個(gè)實(shí)際的例子,如何通過(guò)設(shè)計(jì)基礎(chǔ)設(shè)施的架構(gòu),來(lái)保障網(wǎng)站能支持同時(shí)10W人在線、7*24小時(shí)提供服務(wù),當(dāng)超過(guò)10W人或者低于10W人在線時(shí),可以很方便的調(diào)整部署架構(gòu)來(lái)支撐。

數(shù)據(jù)架構(gòu):數(shù)據(jù)架構(gòu),更關(guān)注的是數(shù)據(jù)持久化和存儲(chǔ)層面的問(wèn)題,也可能會(huì)包括數(shù)據(jù)的分布、復(fù)制、同步等問(wèn)題。更貼切來(lái)講,如何選擇需要的關(guān)系型數(shù)據(jù)庫(kù)、流行的NOSQL,如何保障數(shù)據(jù)存儲(chǔ)層面的性能、高可用性、災(zāi)備等等。很多時(shí)候,和物理架構(gòu)是有緊密聯(lián)系的,但它更關(guān)注數(shù)據(jù)存儲(chǔ)層面的,物理架構(gòu)更關(guān)注整個(gè)基礎(chǔ)設(shè)施部署層面。

常見(jiàn)的代碼類型有哪些

1、機(jī)器語(yǔ)言

是最低級(jí)的語(yǔ)言,是由二進(jìn)制碼組成,是最早期的一種程序語(yǔ)言。

2、技術(shù)功能代碼

這種代碼與業(yè)務(wù),與要實(shí)現(xiàn)的系統(tǒng)完全沒(méi)有依賴,各個(gè)編程語(yǔ)言標(biāo)準(zhǔn)庫(kù),框架都屬于此類,這類代碼盡量按不同技術(shù)進(jìn)行獨(dú)立,保證代碼的正確性。如實(shí)在需要大量類型組合出需要的功能,如Web框架,設(shè)計(jì)的功能很多,則應(yīng)該使用接口,盡量隔離不同的功能,技術(shù)。

3、業(yè)務(wù)中功能的實(shí)現(xiàn)代碼

這種代碼需要實(shí)現(xiàn)業(yè)務(wù)邏輯,一般會(huì)存取業(yè)務(wù)數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),檢查數(shù)據(jù)是否符合要求,調(diào)用功能類庫(kù)等,這類代碼關(guān)聯(lián)的東西很多,需要做到盡量簡(jiǎn)單,等分離出去的盡量分離出去,簡(jiǎn)單一來(lái)不容易出問(wèn)題,二來(lái)只需要少量測(cè)試即可保證這部分代碼的正確性。

4、針對(duì)業(yè)務(wù)邏輯對(duì)功能類庫(kù)進(jìn)行封裝的類庫(kù)的代碼

有的業(yè)務(wù)邏輯中一個(gè)功能,可能需要某種類庫(kù)做大量動(dòng)作。然而這些代碼實(shí)現(xiàn)的功能,在業(yè)務(wù)邏輯中是不可分割的一個(gè)步驟,因此可以獨(dú)立出來(lái),作為包裝類庫(kù),也需要編寫一定量的測(cè)試代碼,保證正確性。

5、業(yè)務(wù)邏輯組合代碼

一個(gè)系統(tǒng)會(huì)有多個(gè)業(yè)務(wù)邏輯,其組合規(guī)則也可以被獨(dú)立出來(lái),以方便擴(kuò)展和修改業(yè)務(wù)邏輯。

熱門推薦

最新文章