2019零售業將被這十大技術革命!


2019零售業將被這十大技術革命!


互聯網是一個飛速發展的領域,程序員如果跟不上時代很容易被淘汰。

到底該學什麼技術?

我相信每個程序員都有一段迷茫期,技術發展這麼快,到底應該學習什麼技術?

剛開始學javaweb的時候,我們都學過ssh,但是現在再來看,struts基本白學了,hibernate差不多也沒用了,只有spring是收益最高的。

我相信很多學web編程的人還學過vbscript,現在來看基本也沒有什麼用了。

與此同時,我們還要學習很多新技術。

運維人員以前只要會點Linux shell就行,現在必須會docker,k8s。前端人員以前會點jquery就行,現在必須會node,react等。

互聯網發展的淘汰的速度如此之快,我們昨天還在拼命學習的東西,今天就沒人用了,那麼到底應該學什麼?怎麼學習?


2019零售業將被這十大技術革命!


談談我的幾個觀點。

第一、顛覆性技術出現,一定要跟進。不一定要精通,但是基本的瞭解一定要有。比如最近出現的區塊鏈、AI這種新的領域,還有在老的領域中的新技術,比如前端的webpack、mvvm,後端的spring cloud、docker、k8s等。你需要去了解這些技術,並且弄明白它為什麼火,而其他技術為什麼沒落了。

第二、不要只關注共性,主要研究新技術獨特之處。比如很多學後端的是c出身,後來學習java,這時候應該把重點放在虛擬機,接口上面,而不是數據類型,控制語句等。再學習node的時候,應該注重單線程模型,回調處理。再學習go的時候,注重goroutine併發。如果學了4種語言,都只能寫點helloworld,ifelse,其實和只學一種沒有區別。

第三、基礎知識要深入研究。第二條講的是學習新技術的時候要研究新技術的特別之處,但是並不意味著基礎就不需要研究。相反,很多地方都用到的基礎知識,一定要刨根問底。比如我們在寫web前端、web後端、配置nginx時,都繞不開http和https協議。所以http和https作為幾項技術基礎就有必要深入研究。


2019零售業將被這十大技術革命!


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

代碼水平如何衡量?

我很多時候都在想什麼樣的代碼是好代碼,什麼樣的系統是好的系統。

一個完全沒有bug的系統是不存在的。我想一個好的系統是可調試的,可擴展的,可配置的,好的代碼是可讀的,魯棒性強的,松耦合的,可測試的,可以快速定位的。

可以運行,沒有故障的系統肯定是好的系統。但是沒有故障幾乎是不可能的,我覺得好系統的另一個指標就是出故障了能夠快速找到問題代碼,並且能夠快速進行故障恢復。

而我們在設計系統或者寫代碼的時候就要考慮這些因素。

好的代碼其實很多時候就取決於寫代碼那個人的代碼素養。

什麼是代碼素養?


2019零售業將被這十大技術革命!


很簡單的一個數學問題,4的平方根 是多少?有多少人會回答2呢?

寫代碼也是一樣,很多人都只會考慮一種情況,這其實不是智商也不是能力問題,只是考慮問題的時候是否嚴謹。

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

很不幸,這種素養很難短時間內養成,而這種沒有代碼素養的人,寫大項目或者複雜系統,寫出來的代碼將是災難。

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

代碼素養只能靠平時慢慢積累,多看別人是怎麼處理細節的,自己寫完代碼後多想想testcase,多多測試。

代碼水平絕對不是會多少種語言,會多少個框架。而是你在寫代碼的時候的種種思考,對細節的處理,對各種情況的判斷,代碼的清晰程度等等。

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


分享到:


相關文章: