1. 程式人生 > >程式設計師的職業素養【2】

程式設計師的職業素養【2】

1
程式設計非易事。因此,互相幫助是每個程式設計師的職責所在。
給他人提供幫助並非說明你比人家聰明很多,而是因為你帶來了一個新的視角,對於解決問題起到了顯著的催化作用。
要以樂於助人為榮一樣,也要以樂於接受別人的幫助為榮。

2
輔導缺乏經驗的程式設計師是那些經驗豐富的程式設計師的職責。向資深導師尋求輔導也是年輕程式設計師的專業職責。

3
測試驅動開發(TDD)。先寫測試的程式設計。
先寫測試程式碼,再寫業務程式碼。
測試程式碼有問題,停止業務程式碼編寫直到測試程式碼無誤。
僅編寫當前測試程式碼能夠正確執行的業務程式碼即可。

4
要學習熱鍵和導航操作,以及測試驅動開發,持續整合之類的方法,找整套的卡塔來練習都是相當有效的。更重要的是,它特別有利於在潛意識中構築通用的問題和解決方案間的聯絡,以後在實際程式設計中遇到這類問題,你馬上就知道要如何解決。

5
專業開發人員既要做好開發,也要做好溝通。“輸入糟糕,輸出也會糟糕”對程式設計師同樣適用,所有職業程式設計師會重視與團隊及業務部門的溝通。

6
做業務的人和寫程式的人都容易陷入一個陷阱,即過早進行精細化。

7
驗收測試的目的是溝通、澄清、精確化。
業務分析員測試“正確路徑”,以證明功能的業務價值;QA則測試“錯誤路勁”、邊界條件、異常、例外情況,因為QA的職責是考慮哪些部分可能出問題。

8
請記住,身為專業開發人員,你的職責是協助團隊開發出最棒的軟體。也就是說,每個人都需要關心錯誤和疏忽,並協力改正。

9
請務必確保在持續整合系統中,單元測試和驗收測試每天都能執行好幾次。整套持續整合系統應該由原始碼管理系統來觸發。只要有人提交了程式碼,持續整合系統就會開始構建,並執行所有的測試,測試結果會用電子郵件傳送給團隊所有人。

10
為了更好的做到“QA應該找不到任何錯誤”,開發團隊要和QA緊密協作,建立由單元測試、元件測試、整合測試、系統測試和探索式測試構成的測試體系。應該儘可能頻繁的執行這些測試,提供儘可能多的反饋,確保系統始終整潔。

11
預估是一種猜測。預估不是個定數,預估的結果是一種概率分佈。
樂觀預估;標稱預估;悲觀預估。

12
專業開發人員懂得如何為業務人員提供可信的預估結果,以便做出計劃。如果做不到,或者不確定能做到,專業開發人員不會給出承諾。

13
如果你遵守的紀律原則是工作的最佳方式,那麼即使是在深度危機中,也要堅決秉持這些紀律原則。

14
應對壓力的訣竅在於,能迴避壓力時儘可能的迴避,當無法迴避時則勇敢直面壓力。可以通過慎重承諾、遵循自己的紀律原則、保持整潔等來回避壓力。直面壓力時,則要保持冷靜,與別人多多溝通,堅守自己的原則紀律,並尋求他人的幫助。

15
專業程式設計師的首要職責是滿足僱主的需求。這意味著要和你的經理們、業務分析師們、測試工程師們和其他團隊成員很好的協作,深刻理解業務目標。這並不是說你必須要成為業務方面的老學究,而是說你需要理解手上正在編寫的程式碼的業務價值是什麼,瞭解僱你的企業將如何從你的工作中獲得回報。

16
我期望擁有程式碼的是整個團隊,而非個人。專業開發人員是不會阻止別人修改程式碼的。他們不會在程式碼上構築所有權的藩籬,而是儘可能多的互相合作。他們通過合作來達到學習的目的。

17
專業的開發組織會把專案分配給已形成凝聚力的團隊,而不會圍繞著專案來元件團隊。一個有凝聚力的團隊能夠同時承接多個專案,根據成員各自的意願、技能和能力來分配工作,會順利完成專案。

18
計算機科班畢業生的質量一直令我頗感失望。究其原因,並不是這些畢業生不夠聰明或缺乏天份,而是由於大學並沒有教授真正的程式設計之道。(略略略)

19
工具:Unity + Visual Studio + TextSublime + UML