做一個程序員不難峻堰,難的是做一個好程序員。
還記得我在大一的時候旦万,剛拿到程序設計的入門書籍桐筏,很是癡迷纸型,那時候我想我要是個程序員該多好梅忌,后來我還真成了一個程序員除破。想當一個程序員很容易,培訓幾個月瑰枫,或者努力點自學幾個月,學會判斷語句光坝、循環(huán)語句,學點HTTP性含、數據庫還有l(wèi)inux鸳惯,程序員之路就可以開啟了商蕴。但是想做一個好的程序員,并沒有這么簡單苛谷。
首先 好的程序員要非常熟悉你寫的代碼和你要寫的代碼格郁。你不僅要能寫出來代碼,還要能說明為什么這么寫理张,這么做的理由是什么,為什么不用另一種方式雾叭,好在哪,差在哪织狐。
第二 好的程序員要寫出來的程序要可維護。代碼人要能看得懂旺嬉,機器執(zhí)行要沒問題厨埋,關鍵位置要有日志輸出邪媳,代碼里不是到處注釋掉的無用的代碼。
第三 好的程序員寫出來的程序要有審美雨效。代碼如人废赞,代碼的風格代表了人的做事風格;代碼是不是很簡約唉地,有沒有用到工程學的東西,錯誤處理是怎么做的耘沼,變量的命名,這些沒有所謂的好壞群嗤,但是能在一定程度上反映一個程序員的水平、態(tài)度和能力浸赫。
第四 好的程序員應該是一個好的產品經理。程序是拿來解決問題的既峡,程序員需要知道你的程序的使用范圍,是給誰用的运敢,不同的場景下很可能寫出來的程序是不一樣的,而且為了達到最終效果迄沫,程序的側重點應該是不一樣的卦方,好程序應該要做到抓大放小羊瘩。
第五 好的程序員的代碼一定是健壯的盼砍,可解釋的。一個好的程序需要能在各種異常情況下工作睬捶,cpu雖然是一個只會執(zhí)行正確代碼的人,但是程序是可以有判斷語句的擒贸,程序掛了也是可以通過其他手段監(jiān)控到并且重新啟動起來的觉渴,機器掛了也是可以被監(jiān)控到的。
第六 根據第五點疆拘,程序員應該是全棧的寂曹。程序員不只是寫程序,不管程序是怎么跑起來的隆圆,也許你不能說明白在cpu里是怎么運算的,也許你不明白你的程序是怎么在內存里分配的旨涝,但是起碼要知道程序在哪個進程里,進程是由誰跑起來的白华,誰在守護,日志在哪里弧腥,是用的哪個角色跑起來的,日志在哪里管搪,出了問題怎么排查。
第七 好的程序員是善于學習和思考的霎箍。這點毋庸置疑澡为,現(xiàn)在的發(fā)展太快了,也許幾個月不了解最新的前沿或者學的慢點媒至,可能就不能很好地把握整個環(huán)境的發(fā)展脈絡,就有很大的風險被淘汰掉塘慕!
程序員的道路我也只是走了個開頭,想到的条篷,看到的,很局限赴叹;未來的路還很長指蚜,要學的,要想的摊鸡,要實現(xiàn)的,還有很多免猾,加油!