隨著網(wǎng)絡(luò)科技的創(chuàng)新,IT行業(yè)迎來(lái)了長(zhǎng)足的發(fā)展,程序員群體也在不斷擴(kuò)大當(dāng)中。盡管程序員能夠解決開(kāi)發(fā)或測(cè)試或運(yùn)維等方向的大部分問(wèn)題,但是程序員畢竟不是萬(wàn)能的!今天就來(lái)總結(jié)一下程序員經(jīng)常犯的幾個(gè)錯(cuò)誤是什么?
1、在設(shè)計(jì)模式上常犯的錯(cuò)誤
不排除有的程序員認(rèn)為,只要學(xué)會(huì)了設(shè)計(jì)模式、設(shè)計(jì)原則,就等于學(xué)會(huì)了設(shè)計(jì)。但是實(shí)際上設(shè)計(jì)模式和設(shè)計(jì)原則,只是前人根據(jù)設(shè)計(jì)實(shí)踐做的總結(jié)和提煉,設(shè)計(jì),歸根到底是要解決問(wèn)題的。而程序員需要做的就是把具體問(wèn)題的解決辦法,經(jīng)過(guò)一定的抽象,變成程序員的語(yǔ)言。
有時(shí)候我們反而被設(shè)計(jì)模式或設(shè)計(jì)原則粗暴地掌握束縛了手腳。跳脫出刻板的設(shè)計(jì)模式,換種角度思考,說(shuō)不定會(huì)有好的結(jié)果哦!
2、多種計(jì)算機(jī)語(yǔ)言學(xué)習(xí)觀點(diǎn)的錯(cuò)誤
有程序員覺(jué)得學(xué)習(xí)一種語(yǔ)言就可以了,學(xué)習(xí)那么多語(yǔ)言沒(méi)有必要。事實(shí)上,多掌握一門(mén)合適的計(jì)算機(jī)語(yǔ)言不僅僅是多掌握一種謀生的工具,如果一種新的語(yǔ)言能夠很大程度上改變你對(duì)編程、對(duì)設(shè)計(jì)的看法,那么興許它就值得你去學(xué)習(xí)。
譬如C語(yǔ)言,可以培養(yǎng)嚴(yán)謹(jǐn)?shù)乃季S;譬如動(dòng)態(tài)語(yǔ)言,它可以幫助程序員更好地做面向?qū)ο蟮腸oding;譬如函數(shù)式語(yǔ)言,它在工業(yè)生產(chǎn)、運(yùn)算領(lǐng)域有著不可替代的作用。
當(dāng)然話說(shuō)回來(lái),所謂術(shù)業(yè)有專(zhuān)攻,對(duì)于某一門(mén)計(jì)算機(jī)語(yǔ)言(包括該語(yǔ)言所需的運(yùn)行時(shí)環(huán)境、其中的編譯或解釋的原理)深入的掌握,是很有必要的。
另外,我們時(shí)?吹街T多計(jì)算機(jī)語(yǔ)言孰優(yōu)孰劣的爭(zhēng)論,計(jì)算機(jī)語(yǔ)言歸根到底是一種工具,工具是隨著時(shí)代發(fā)展升級(jí)和變更的,單純的優(yōu)劣爭(zhēng)論沒(méi)有太大意義。
3、算法問(wèn)題上的爭(zhēng)議
算法有多重要,這一件事的爭(zhēng)議一直都很大。
軟件歸根到底是用來(lái)解決問(wèn)題的,提到算法就不能不提到數(shù)學(xué)(這也是為什么很多軟件領(lǐng)域的大師都具備相當(dāng)?shù)臄?shù)學(xué)背景),對(duì)于解決問(wèn)題,這里可以簡(jiǎn)單歸納成兩步:
(1)把實(shí)際的問(wèn)題抽象成簡(jiǎn)化的數(shù)學(xué)模型
(2)用算法去解決這個(gè)數(shù)學(xué)問(wèn)題
算法,在這里應(yīng)該是一個(gè)廣義的概念(這里的算法并不僅僅指大學(xué)里學(xué)習(xí)的狹義的具體算法),算法是解決上述數(shù)學(xué)問(wèn)題的辦法。如果工作中你并未意識(shí)到它的存在,那只是說(shuō)明,你抽象出的數(shù)學(xué)模型比較簡(jiǎn)單,解決這個(gè)模型的辦法也很簡(jiǎn)單,或者有現(xiàn)成的方式可以模仿,或者有現(xiàn)成的框架幫你完成了,以至于你不去關(guān)注它、在乎它。
如果你做的事情是充滿創(chuàng)新意義的,是別人從沒(méi)有做過(guò)的,這時(shí)候算法興許就成了決定你成敗的因素。
在當(dāng)前中國(guó)的環(huán)境下,視野廣闊和經(jīng)歷豐富的人很好找,但是企業(yè)要招到具備上述兩點(diǎn)能力來(lái)解決問(wèn)題的人,其實(shí)是非常困難的。
客觀印象上,大家都會(huì)認(rèn)為程序員每天的工作就是碼代碼、碼代碼and碼代碼,但是在實(shí)際工作的過(guò)程中,我們一定不能被固定思維框住,跳脫出來(lái),做最靈活的程序員!