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