自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你的代碼水平停留在幾年前?

開發(fā) 后端 新聞
互聯(lián)網(wǎng)是一個(gè)飛速發(fā)展的領(lǐng)域,程序員如果跟不上時(shí)代很容易被淘汰。

[[252134]]

 互聯(lián)網(wǎng)是一個(gè)飛速發(fā)展的領(lǐng)域,程序員如果跟不上時(shí)代很容易被淘汰。

到底該學(xué)什么技術(shù)?

我相信每個(gè)程序員都有一段迷茫期,技術(shù)發(fā)展這么快,到底應(yīng)該學(xué)習(xí)什么技術(shù)?

剛開始學(xué)javaweb的時(shí)候,我們都學(xué)過ssh,但是現(xiàn)在再來看,struts基本白學(xué)了,hibernate差不多也沒用了,只有spring是收益***的。

我相信很多學(xué)web編程的人還學(xué)過vbscript,現(xiàn)在來看基本也沒有什么用了。

與此同時(shí),我們還要學(xué)習(xí)很多新技術(shù)。

運(yùn)維人員以前只要會(huì)點(diǎn)Linux shell就行,現(xiàn)在必須會(huì)docker,k8s。前端人員以前會(huì)點(diǎn)jquery就行,現(xiàn)在必須會(huì)node,react等。 

互聯(lián)網(wǎng)發(fā)展的淘汰的速度如此之快,我們昨天還在拼命學(xué)習(xí)的東西,今天就沒人用了,那么到底應(yīng)該學(xué)什么?怎么學(xué)習(xí)?

談?wù)勎业膸讉€(gè)觀點(diǎn)。

***、顛覆性技術(shù)出現(xiàn),一定要跟進(jìn)。不一定要精通,但是基本的了解一定要有。比如最近出現(xiàn)的區(qū)塊鏈、AI這種新的領(lǐng)域,還有在老的領(lǐng)域中的新技術(shù),比如前端的webpack、mvvm,后端的spring cloud、docker、k8s等。你需要去了解這些技術(shù),并且弄明白它為什么火,而其他技術(shù)為什么沒落了。

第二、不要只關(guān)注共性,主要研究新技術(shù)獨(dú)特之處。比如很多學(xué)后端的是c出身,后來學(xué)習(xí)java,這時(shí)候應(yīng)該把重點(diǎn)放在虛擬機(jī),接口上面,而不是數(shù)據(jù)類型,控制語句等。再學(xué)習(xí)node的時(shí)候,應(yīng)該注重單線程模型,回調(diào)處理。再學(xué)習(xí)go的時(shí)候,注重goroutine并發(fā)。如果學(xué)了4種語言,都只能寫點(diǎn)helloworld,ifelse,其實(shí)和只學(xué)一種沒有區(qū)別。

第三、基礎(chǔ)知識(shí)要深入研究。第二條講的是學(xué)習(xí)新技術(shù)的時(shí)候要研究新技術(shù)的特別之處,但是并不意味著基礎(chǔ)就不需要研究。相反,很多地方都用到的基礎(chǔ)知識(shí),一定要刨根問底。比如我們?cè)趯憌eb前端、web后端、配置nginx時(shí),都繞不開http和https協(xié)議。所以http和https作為幾項(xiàng)技術(shù)基礎(chǔ)就有必要深入研究。

[[252135]]

但是懂得很多語言,知道很多技術(shù),不一定能寫出高水平代碼。

代碼水平如何衡量?

我很多時(shí)候都在想什么樣的代碼是好代碼,什么樣的系統(tǒng)是好的系統(tǒng)。

一個(gè)完全沒有bug的系統(tǒng)是不存在的。我想一個(gè)好的系統(tǒng)是可調(diào)試的,可擴(kuò)展的,可配置的,好的代碼是可讀的,魯棒性強(qiáng)的,松耦合的,可測(cè)試的,可以快速定位的。

可以運(yùn)行,沒有故障的系統(tǒng)肯定是好的系統(tǒng)。但是沒有故障幾乎是不可能的,我覺得好系統(tǒng)的另一個(gè)指標(biāo)就是出故障了能夠快速找到問題代碼,并且能夠快速進(jìn)行故障恢復(fù)。

而我們?cè)谠O(shè)計(jì)系統(tǒng)或者寫代碼的時(shí)候就要考慮這些因素。

好的代碼其實(shí)很多時(shí)候就取決于寫代碼那個(gè)人的代碼素養(yǎng)。

什么是代碼素養(yǎng)?

[[252136]]

很簡(jiǎn)單的一個(gè)數(shù)學(xué)問題,4的平方根 是多少?有多少人會(huì)回答2呢?

寫代碼也是一樣,很多人都只會(huì)考慮一種情況,這其實(shí)不是智商也不是能力問題,只是考慮問題的時(shí)候是否嚴(yán)謹(jǐn)。

而當(dāng)你告訴他這個(gè)地方需要判空,那個(gè)地方需要加try catch的時(shí)候,他往往不以為然,覺得這只是一時(shí)沒考慮到而已。

很不幸,這種素養(yǎng)很難短時(shí)間內(nèi)養(yǎng)成,而這種沒有代碼素養(yǎng)的人,寫大項(xiàng)目或者復(fù)雜系統(tǒng),寫出來的代碼將是災(zāi)難。

就像一堆沙子,你把水倒進(jìn)去,你根本不知道哪里在漏水,但是到處都在漏水,水一下子就沒了,你只能推翻重寫。而好的代碼應(yīng)該像一塊鐵板,水倒上去滴水不漏。

代碼素養(yǎng)只能靠平時(shí)慢慢積累,多看別人是怎么處理細(xì)節(jié)的,自己寫完代碼后多想想testcase,多多測(cè)試。

代碼水平絕對(duì)不是會(huì)多少種語言,會(huì)多少個(gè)框架。而是你在寫代碼的時(shí)候的種種思考,對(duì)細(xì)節(jié)的處理,對(duì)各種情況的判斷,代碼的清晰程度等等。

所以,你的代碼水平有提升嗎?

責(zé)任編輯:龐桂玉 來源: Java后端技術(shù)
相關(guān)推薦

2009-08-25 15:18:10

WiFi無線網(wǎng)絡(luò)中國(guó)電信WCDMA

2010-05-19 15:33:54

統(tǒng)一通信概念

2015-06-30 11:34:12

MySQL錯(cuò)誤印象

2014-01-17 10:03:31

大數(shù)據(jù)

2023-02-19 09:12:23

GNOME指示器

2021-02-07 18:19:44

RabbitMQ客戶端

2013-10-15 16:07:41

Windows 7Windows 8

2013-10-16 09:50:57

GartnerWindows 7Office 2010

2015-05-21 15:46:20

2018-11-08 15:37:35

機(jī)房建設(shè)

2013-02-26 10:05:04

IT人員程序員臺(tái)灣IT

2016-01-08 14:45:40

前端技術(shù)發(fā)展方向

2022-08-15 14:07:29

機(jī)器學(xué)習(xí)模型

2018-11-12 17:19:48

招商銀行

2016-09-28 20:13:34

數(shù)據(jù)服務(wù)器數(shù)據(jù)中心

2019-10-22 20:00:12

人工智能AI5G

2013-09-22 09:36:11

2021-10-22 21:00:38

微軟Windows 11Windows

2022-04-26 10:52:49

數(shù)字經(jīng)濟(jì)數(shù)字化轉(zhuǎn)型CIO

2021-02-11 08:59:37

SOLID模塊倒置原則
點(diǎn)贊
收藏

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