成為優秀程式設計師的十個Tips
理解技術債務
技術債務就像信用卡一樣,會有很高的利息率,時間越長,修復所花的代價就越大,程式設計師對這個要有深刻的認識。同時團隊應該培養一種保證設計質量的文化,應當鼓勵重構、同時也應當鼓勵其它有關程式碼質量的實踐,在開發時間中應當專門抽出一部分以解決技術債務。如果沒有合適的照料,程式碼會變得越來越複雜難懂,最後沒人想碰它。
保持對原理的好奇心
不僅知道怎麼用,還知道是什麼原因。比如你做Android, 可以瞭解一下他的事件分發機制是什麼樣的,它的Measure/Layout是怎麼work的,有時間讀一讀它的原始碼, 看看他的原生控制元件是怎麼實現的. 學iOS,瞭解一下它的記憶體管理,autorelease是怎麼工作的,runtime是怎麼工作的, runloop的原理是什麼。做Server開發,可以瞭解一下Nginx為什麼效能好,Redis的工作原理如何,有時間也可以讀讀其原始碼。 做前端,也可以讀一讀 Angular 或 React 的原始碼。
專注
程式設計師的工作效率可以相差很大,其中區別很大的一點就是是否專注,就像執行緒切換一樣,恢復上下文有很高的代價。建議合理安排好自己的時間,儘量在上午/下午留大塊的專注時間來做設計和程式設計,關掉IM/郵件/微信, 把面試/會議等安排在大塊時間之外, 同時也建議可以嘗試一下番茄工作法。
同理心
寫程式碼時要有同理心,考慮一個有少量上下文甚至完全不瞭解上下文的另外一個程式設計師他會怎麼樣讀這個程式碼,這樣自然就知道怎麼寫出可讀性好的程式碼,該怎麼命名,什麼地方該加註釋。 考慮以後維護程式碼的這個人就是你自己,這樣在偷懶做一些臨時的workaround時就會三思。 交付給測試人員時也要有同理心,有沒有做基本的質量保證,有沒有跟測試溝通改動可能的影響範圍,讓測試人員可以更有針對性的測試。
謀定而後動
好的程式設計師不是拿到需求就開始寫程式碼,而是先考慮清楚。 需求是否合理,是否能解決使用者的問題,邏輯上是否有模糊或不完備的地方。 然後考慮設計的問題,流程圖是什麼樣的,類圖是什麼樣的,介面是什麼樣的,對架構和模組的影響是什麼樣的,考慮清楚後才開始寫程式碼。
架構思維/全域性思維
理解整體架構是什麼樣的,你開發的模組在架構中的層次,新增的改動會不會對架構有汙染,是否需要調整架構,所開發的模組可否抽象成通用模組 或者可否複用已有模組,或則重構已有模組達到可複用目的。
設計語言
掌握適當的設計語言,比如 Plantuml 或 Visio,或者是一些設計模式,知道如何以簡單清晰的方式去跟其他程式設計師描述和溝通你的設計和架構,大家理解一致了,才能更有效率的合作。
追求程式碼質量
程式碼質量是程式設計師的立足之本,在這一點上,要有精益求精的“匠心”。 我看到很多普通程式設計師做了不少專案後水平提升仍然不明顯,無它,對程式碼質量沒有精益求精的精神。 程式碼規範,健壯性,可讀性,可維護性,無重複程式碼等等,都要精益求精。
程式碼審查
程式碼審查是保證程式碼和工程質量的最有效手段,優秀的公司(比如Facebook, Google)和優秀的團隊(比如我們,歡迎關注團隊公眾號 mtydev)都非常重視程式碼審查。如果你還不能認識到它的重要性,可以檢視這裡
自動化
好的程式設計師都應該有自動化思維和工具思維,都應該會一門指令碼語言,有自己的工具庫。我們應該通過工具及自動化來改善我們的工作效率,以及避免一些人為的失誤。
相關文章
- [開發故事]成為優秀程式設計師的十個有效方法程式設計師
- 2019如何成為一個優秀的程式設計師程式設計師
- 優秀程式設計師都在注意的十個點程式設計師
- Java程式設計師如何成為優秀的架構師Java程式設計師架構
- 怎樣把自己培養成為一個優秀的程式設計師程式設計師
- 成為一名優秀程式設計師(&人類)的 101 個技巧程式設計師
- 初學者成為優秀Java程式設計師的8個步驟!Java程式設計師
- Python書單|成為一名優秀的Python程式設計師Python程式設計師
- 陸奇:如何成為一個優秀的工程師?工程師
- 成為優秀UI設計師需要具備哪些條件UI
- 優秀的程式設計師都有的十條特徵,你中了幾條?程式設計師特徵
- 10個程式設計好習慣:優秀程式設計師的經驗分享程式設計師
- UI培訓分享:如何成為一名優秀的UI設計師UI
- 優秀的程式設計師都熱愛寫作程式設計師
- 怎樣成為優秀的後端工程師後端工程師
- 阿里P8Java架構師十條建議讓作為程式設計師的你變得更優秀!阿里Java架構程式設計師
- 我不是一個成功的人,但是我想做一個優秀的程式設計師程式設計師
- 優秀程式設計師,如何提高架構能力?程式設計師架構
- 成為一名優秀的萬智牌設計師的7條建議(下)
- 成為一名優秀的萬智牌設計師的7條建議(上)
- 成為最好的程式設計師的迷茫程式設計師
- 優秀的程式設計師真的不寫註釋嗎?程式設計師
- 同樣是程式設計師,為什麼別人比你更優秀?程式設計師
- 如何成為一個年薪 40 萬以上的程式設計師?程式設計師
- 做個清醒的程式設計師之成為少數派程式設計師
- 如何成為一個精力充沛的程式設計師——掌控程式設計師
- 優秀設計的十大準則(上)
- 優秀設計的十大準則(下)
- 一個十年JAVA老程式設計師成長之路分享Java程式設計師
- 一個優秀的程式設計師應有的產品觀和技術觀程式設計師
- 優秀的程式設計師10分鐘內能搞定下面5個程式設計問題,你呢?程式設計師
- 十年風雨,一個普通程式設計師的成長之路(六)程式設計師
- 十年風雨,一個普通程式設計師的成長之路(四)程式設計師
- 十年風雨,一個普通程式設計師的成長之路(五)程式設計師
- 十年風雨,一個普通程式設計師的成長之路(三)程式設計師
- 十年風雨,一個普通程式設計師的成長之路(二)程式設計師
- 成為一個優秀的java架構師究竟需要學什麼?Java架構
- 如何成為一名優秀的全棧工程師全棧工程師
- 怎樣成長為優秀的軟體架構師?架構