每一個奮鬥在代碼海洋裡的程式設計師都值得為他鼓掌,來看看此時徒弟們奮鬥的瞬間,順便分享一下作為一個程式設計師應該具備什麼樣的自我修養?
「我不是一個死跑龍套的,我是一個演員」
多少人奉周星馳的《喜劇之王》為電影中的經典,可是有多少能像電影中星爺那樣理直氣壯地告訴別人?
"我不是一個寫死代碼的碼農,我是一名程式設計師"
其實要做到並不難,一個人,無論他的身份是程式設計師,還是掏糞boy,抑或是白衣天使;思考能力,都是人能把任何一份工作做好的必要前提。
一個需求發出,有人拿到了就埋頭苦幹一通,做出來的東西漏洞百出且擴展性極差。有的人拿到需求之後花一些時間思考,分析需求、拆分邏輯和功能,對於不合理設計和產品討論得到確切可行的方案之後,才開工,架構和流程儘可能做到具有彈性和擴展性。
一個頁面報錯,有人忙得滿頭大汗,折騰一天也沒找到問題。有人卻思考問題出現的可能性,使用排除法和調試法,先分析錯誤碼,再定位問題是出現在前端還是接口,定位出來之後,再對邏輯代碼進行調試分析,沒多久就把問題找到並且修復了bug。
一份代碼的編寫,有人東拼西湊,面向過程式的編碼,最終實現功能後,代碼冗長易讀性差,自己也沒學到什麼東西。有人會先思考分析應當如何寫、哪些業務應該分層、哪些邏輯應該怎麼走、哪些代碼塊應該抽象出來…最終編寫出來的代碼整潔可讀性強、可維護性高,有些抽離出來的代碼也可能成為自己的得力工具。
因此,思考能力,是你要想寫好一份代碼,做一個有修養的程式設計師是一個必備能力,在日常的開發工作中,當拿到一個需求時,我們應該去思考:
架構:如果構建一個有擴展性的可維護的工程、包、類。
設計:如何設計代碼的邏輯,哪裡可以抽象,哪裡可以拆分。
編碼:如何寫符合編程規範,做到簡潔、安全、耦合度更低。
優化:從性能更高的角度去思考,而不是僅僅從實現功能的角度思考
調試:編碼是如何埋點便於問題展示更清楚,問題如何定位、如何調試,如何修復…
誠如昨日採訪的陳師父所言,一定要有自己的編程思維,而找個師父帶你是最快的,一旦編程思維建立,寫代碼那就快很多。