• 《Clean Coder》讀后感:程序員自我管理的9個原則

    0
    程序員 C/C++ Go 9174 次瀏覽

      我最近剛讀完 Robert C. Martins 的新書 《The Clean Coder: A Code of Conduct for Professional Programmers 》(編注:暫無中文版)。我可以毫不猶豫地、誠實地說,這本書真的改變了我對于專業軟件開發人員的看法和觀念。在閱讀過程中,我一直把學習到的事情和頭腦中瞬間轉變的事情寫在剪貼簿上。

      我強烈建議任何,不論老手或者新手,只要是還沒有機會讀這本書的軟件開發人員都應該找時間讀一下。關于成為一名專業軟件開發人員的意義,這本書提供了許多有價值和有趣的信息。

      聲明:請注意,因為不同的人有不同的看法。這是我對這本書闡述內容的理解。

      我學到的 9 件事

      □ 一名專業開發人員了解所開發項目的領域

      □ 一名專業開發人員是具有團隊精神的人

      □ 一名專業軟件開發人員能肩負責任

      □ 一名專業開發人員知道模式和準則

      □ 一名專業開發人員能夠在忙碌中保持冷靜

      □ 一名專業開發人員會不斷訓練自己的專業技能

      □ 一名專業開發人員會適當休息

      □ 一名專業開發人員懂得時間的寶貴

      □ 一名專業開發人員從不害怕說不

      1. 一名專業開發人員了解所開發項目的領域

      作為一名專業開發人員,你的工作不僅僅是閱讀需求說明書和編寫軟件代碼。你還應該知道項目在現實中是如何使用的。

      這就意味著如果你要編寫一個記賬軟件,你至少應該具備一些基本的財務知識。你不需要成為這個領域的專家,但是有一點這方面的知識的話,在解決問題和提出解決方案時將有很大幫助。

    《Clean Coder》讀后感:程序員自我管理的9個原則

      2 一名專業開發人員是團隊的一員

      作為一名專業開發人員,你當然應該對其他人禮貌并樂于助人。當別人向你尋求幫助時,你應該換位思考,像你自己所期望的那樣去幫助別人。你應該樂于助人并樂于接受別人的幫助。

      而且,你不應該把自己和代碼獨立于團隊之外。記住!這些代碼不是屬于你的,是屬于整個團隊的。所以,不要不理會參與工作的其他人,甚至不讓他們看代碼,而是應該鼓勵。這將幫助你成長為一名開發人員,因為這樣就產生了反饋,而這對團隊和項目都是大有裨益的。

      團隊隨著時間推移,也會變得越來越好,最后團隊成員會了解彼此的優點和弱點。當團隊能夠如此時,作為一個團隊就能很高效地解決問題了。由于需要時間來建立這樣堅實的團隊,當一個項目完成時,給團隊一個新項目比解散整個團隊要明智得多。

      3 一名專業軟件開發人員能肩負責任

      作為一名專業開發人員,你要對你的代碼負責。你的工作就是了解你代碼的作用和所有代碼的功能。當你編碼時,你應該注意不要對你的項目產生危害,并且盡可能的將錯誤率降至接近于零。

      這能夠通過簡單的測試完成。測試代碼使你對工作更有信心,了解怎樣編寫最好的代碼并且避免錯誤。Robert C. Martin 最近說最高的目標是 QA 部門找不到任何小錯誤。一個具有測試代碼的完整項目也給開發人員更多的信心來處理漏洞。

      單元測試和驗收測試應當利用持續集成系統自動完成(因為它比手動測試更加便宜)。這種測試應該一直運行,即使是開發人員向項目提交代碼的時候。如果測試間斷,應該盡快修復。

      Robert C. Martin 也強烈支持測試驅動開發。TDD 致力于訓練開發人員考慮更好的設計并構建他們的代碼,使之易于測試。據 Robert C. Martin 所說,不使用 TDD 是不專業的。

      4 一名專業開發人員了解模式和準則

      作為一名專業開發人員,編寫高質量的、已測試的、干凈的代碼是你的責任。這包括了解設計模式、規范、方法、準則和技巧。

      由于軟件產業發展的不斷變化,不斷使用新的思路和工具,保持更新到最新的標準和技術同等重要。

      你在任何時候都不能因為忽視標準而降低你的質量,即使是繁忙和緊張的情況下為了縮短時間。

      5 一名專業開發人員能夠在忙碌中保持冷靜

      作為一名專業開發人員,你應該在忙碌和有壓力的情況下始終保持冷靜。嘗試想出最好的解決問題的辦法并將情況告知你的上司,尋求他們的反饋和意見。

      忙中更易出錯。在緊急情況下,你可以嘗試與同事結對編程。這樣不僅可以減少新增的錯誤而且也是一個與團隊成員分享知識的好方法。

      6 一名專業開發人員會不斷訓練自己的專業技能

      作為一名專業開發人員,你應該花時間關心你的技能。就像其他專業,實踐帶來能力、技巧和經驗。

      通過讀、練和學習一直訓練你自己是你的責任——實際上,任何幫助你成長為軟件開發人員和幫助你起步的事物都在不停變化著。

      重要的一點是,你應該在你自己的私人時間里完成,而不是在工作時間里。培訓你不是他們的責任,而是你自己的責任。當然,不要和你應該工作的時間 弄錯。這個時間應該專門針對你和你的興趣。你可以做任何感興趣的事。據 Robert C. Martin 所說,如果你每周工作 40 小時,你應該花 20 小時提高你的專業技能。

      7 一名專業開發人員會適當休息

      作為一名專業開發人員,你應該知道做一名軟件開發人員是很費腦子和累人的工作。注意不要勞累過度是很重要的,你需要在工作和生活之間尋找平衡。做一個休息好的開發人員使你能更專注并且在工作中表現得更好。這也是對抗心理阻滯的良方。

      8 一名專業開發人員懂得時間的寶貴

      作為一名專業開發人員,你應該知道時間的寶貴。它們不應該被隨意浪費,這就要求你要合理安排你的時間,比如開會,就很浪費時間。婉言謝絕會議對你不利,但如果參加則不利于任何人。

      會議也應有明確的議程和目標。如果你注意到會議開始變得乏味并且對你不再有益,或者議程被放棄抑或會議變成簡單唱高調,你要么換個新的話題要么禮貌地離開。你也許有更好的事情去做而不是繼續坐在那里。

      9 一名專業開發人員從不害怕說不

      作為一名專業開發人員你不應該害怕說不。如果你發現一些事情是不現實的(例如一個意見、期限、要求等等)這些需要你提出來。不是大多數時候——而是每一次。

      你甚至不應該說你可以試試,因為這樣將會提供一個假象那就是這個任務是可行的,也可能更糟,這使你變成一個騙子,有損你在上司和同事之間的名聲。相反,嘗試改換措辭并解釋你所關心的問題。清晰和具體地明確問題的時間和日期。

      如果你的上司不聽你的或者不接受否定的回答,你應該想想更進一步行動。雖然越級不太好,但是最后會帶來對所有參與者最好的結果。

      據 Robert C. Martin 說,判斷的定義因人而異。對于商務人士,判斷方法是承諾。對軟件開發人員,判斷是猜測,概率計算。

      你應該只對能夠確保完成的工作做出承諾。當專業地對一些事承諾后,提供硬性標準并且確保在期限內完成工作。

      原文作者:Christoffer 編譯:伯樂在線 – 魏哲

    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色