要有負責心程序員
在咱們的每日工做中,有一半以上時間是在解決各類Bug。高級程序員在面對這些Bug時會從多個維度思考,Bug出現的時間、系統環境、硬件版本以及軟件版本等等。接着修復問題,嚴格自測,上線後觀察,一直會跟進到底,把影響下降到最小。網絡
他們會主動承擔責任,爲結果負責。面對各類問題時,不是第一時間爲本身找藉口,不是互相推脫,互相指責。而是,想盡一切辦法解決問題,即便解決不了,也會給出最優選擇。架構
2掌握代碼調式技巧函數
衆所周知,在移動互聯網時代,基於市場和需求的變化,項目週期的變化也會很快。有時一個月的工做計劃,會縮短到2個星期。面對巨大的項目壓力,程序員的代碼質量會有所降低。工具
這時調試技巧就尤其重要。一行代碼的輸入輸出要清楚,一個函數的輸入輸出要明確而具體。高級程序員會在函數的開始和結束輸出Log,把全部的參數和返回值打印到日誌系統,便於追蹤。在解決問題的過程當中,使用開發工具一行一行進行調試,實時觀看參數的變化。開發工具
3不要重複造「輪子」架構設計
咱們對代碼的記憶最多隻有2天,若是代碼沒有註釋說明,也許次日一早就會忘記它的具體意義。30天以前寫的代碼相信沒幾我的會記得。設計
重複是怎樣發生的呢?調試
1.程序員們沒有意識到他們在重複。日誌
2.程序員們偷懶,他們重複,由於那樣彷佛更容易。
3.同一個團隊的幾我的重複一樣的信息。
新需求持續進行迭代,需求的變化致使代碼須要從新修改。這時的程序員也未必是當初那個程序員,致使隱藏的問題產生,產品到用戶手上隨時可能會爆發問題。
4儘可能使你的程序解耦
全球首位計算機博士David Wheeler曾經說過這樣一句話,「計算機科學領域的任何問題均可以經過增長一箇中間層來解決」。這句話詮釋瞭解耦的重要性。網絡七層協議的設計,軟件開發的設計中,數據層、服務層和應用層,無不參考這位偉大計算機博士的思想。
生活中隨處可見這樣的例子。共享單車的出現,就是對咱們出行的解耦合。你要作的就是在你須要的時候去使用,不須要了解更多的細節,出現問題了也不須要你去維修,只管用就好。
5適當的進行重構
重構是改善現有代碼的設計。在給外部提供接口不變的前提下,隨着時間的推移,在內部重寫、重作和從新架構代碼。
什麼時間作最好?作的太早,看不出有作的必要性。作的晚,耗費大量的時間週期,會影響當前的項目。
初期的系統架構設計以簡單、易用爲主。在創業公司三、5我的一個小隊,開始了一個項目。在人力資源匱乏的條件下,首要任務是先把系統搭建起來,短時間實現基礎版。後期隨着需求的增長,系統變得龐大。早期的架構明顯有些弊端,不能跟隨項目進行發展。這時候重構就勢在必行了。
6積累本身的代碼庫
若是你作了多年的軟件開發,沒有積累本身的代碼庫,沒有作好筆記。面對新的項目,全部代碼重寫一遍。無疑了浪費了不少時間。網絡上也能夠下載到相關代碼,但隨手的一個小功能,若是在本身的代碼倉庫裏積累好。也省去了搜索的時間。
7實踐、實踐、再實踐
有不少原則和道理咱們聽過無數遍,可是歷來沒有去實踐。若是不通過幾十萬行代碼的錘鍊。很難達到一個高度。外部環境的支撐很重要。可是,若是沒有這樣的機遇,就須要咱們創造條件去尋找。
高級程序員會不停的實踐,總結,再實踐!