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

目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、茌平網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
到底該學(xué)什么技術(shù)?
我相信每個(gè)程序員都有一段迷茫期,技術(shù)發(fā)展這么快,到底應(yīng)該學(xué)習(xí)什么技術(shù)?
剛開(kāi)始學(xué)javaweb的時(shí)候,我們都學(xué)過(guò)ssh,但是現(xiàn)在再來(lái)看,struts基本白學(xué)了,hibernate差不多也沒(méi)用了,只有spring是收益***的。
我相信很多學(xué)web編程的人還學(xué)過(guò)vbscript,現(xiàn)在來(lái)看基本也沒(méi)有什么用了。
與此同時(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í)的東西,今天就沒(méi)人用了,那么到底應(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ù)為什么沒(méi)落了。
第二、不要只關(guān)注共性,主要研究新技術(shù)獨(dú)特之處。比如很多學(xué)后端的是c出身,后來(lái)學(xué)習(xí)java,這時(shí)候應(yīng)該把重點(diǎn)放在虛擬機(jī),接口上面,而不是數(shù)據(jù)類(lèi)型,控制語(yǔ)句等。再學(xué)習(xí)node的時(shí)候,應(yīng)該注重單線(xiàn)程模型,回調(diào)處理。再學(xué)習(xí)go的時(shí)候,注重goroutine并發(fā)。如果學(xué)了4種語(yǔ)言,都只能寫(xiě)點(diǎn)helloworld,ifelse,其實(shí)和只學(xué)一種沒(méi)有區(qū)別。
第三、基礎(chǔ)知識(shí)要深入研究。第二條講的是學(xué)習(xí)新技術(shù)的時(shí)候要研究新技術(shù)的特別之處,但是并不意味著基礎(chǔ)就不需要研究。相反,很多地方都用到的基礎(chǔ)知識(shí),一定要刨根問(wèn)底。比如我們?cè)趯?xiě)web前端、web后端、配置nginx時(shí),都繞不開(kāi)http和https協(xié)議。所以http和https作為幾項(xiàng)技術(shù)基礎(chǔ)就有必要深入研究。
但是懂得很多語(yǔ)言,知道很多技術(shù),不一定能寫(xiě)出高水平代碼。
代碼水平如何衡量?
我很多時(shí)候都在想什么樣的代碼是好代碼,什么樣的系統(tǒng)是好的系統(tǒng)。
一個(gè)完全沒(méi)有bug的系統(tǒng)是不存在的。我想一個(gè)好的系統(tǒng)是可調(diào)試的,可擴(kuò)展的,可配置的,好的代碼是可讀的,魯棒性強(qiáng)的,松耦合的,可測(cè)試的,可以快速定位的。
可以運(yùn)行,沒(méi)有故障的系統(tǒng)肯定是好的系統(tǒng)。但是沒(méi)有故障幾乎是不可能的,我覺(jué)得好系統(tǒng)的另一個(gè)指標(biāo)就是出故障了能夠快速找到問(wèn)題代碼,并且能夠快速進(jìn)行故障恢復(fù)。
而我們?cè)谠O(shè)計(jì)系統(tǒng)或者寫(xiě)代碼的時(shí)候就要考慮這些因素。
好的代碼其實(shí)很多時(shí)候就取決于寫(xiě)代碼那個(gè)人的代碼素養(yǎng)。
什么是代碼素養(yǎng)?
很簡(jiǎn)單的一個(gè)數(shù)學(xué)問(wèn)題,4的平方根 是多少?有多少人會(huì)回答2呢?
寫(xiě)代碼也是一樣,很多人都只會(huì)考慮一種情況,這其實(shí)不是智商也不是能力問(wèn)題,只是考慮問(wèn)題的時(shí)候是否嚴(yán)謹(jǐn)。
而當(dāng)你告訴他這個(gè)地方需要判空,那個(gè)地方需要加try catch的時(shí)候,他往往不以為然,覺(jué)得這只是一時(shí)沒(méi)考慮到而已。
很不幸,這種素養(yǎng)很難短時(shí)間內(nèi)養(yǎng)成,而這種沒(méi)有代碼素養(yǎng)的人,寫(xiě)大項(xiàng)目或者復(fù)雜系統(tǒng),寫(xiě)出來(lái)的代碼將是災(zāi)難。
就像一堆沙子,你把水倒進(jìn)去,你根本不知道哪里在漏水,但是到處都在漏水,水一下子就沒(méi)了,你只能推翻重寫(xiě)。而好的代碼應(yīng)該像一塊鐵板,水倒上去滴水不漏。
代碼素養(yǎng)只能靠平時(shí)慢慢積累,多看別人是怎么處理細(xì)節(jié)的,自己寫(xiě)完代碼后多想想testcase,多多測(cè)試。
代碼水平絕對(duì)不是會(huì)多少種語(yǔ)言,會(huì)多少個(gè)框架。而是你在寫(xiě)代碼的時(shí)候的種種思考,對(duì)細(xì)節(jié)的處理,對(duì)各種情況的判斷,代碼的清晰程度等等。
所以,你的代碼水平有提升嗎?
網(wǎng)頁(yè)名稱(chēng):你的代碼水平停留在幾年前?
本文地址:http://fisionsoft.com.cn/article/dhsedog.html


咨詢(xún)
建站咨詢(xún)
