


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、cleancode讀后感在賞讀完一本名著以后,一定有很多值得分享的心得吧,不能光會讀哦,寫一篇讀后感吧。想必許多人都在為如何寫好讀后感而煩惱吧,以下是小編收集整理的clean code讀后感,僅供參考,希望能夠幫助到大家。最近淺讀了clean code這本書, 雖然由于知識水平的有限,很多地方沒有理解透徹, 但還是令我受益頗多。毫無置疑,軟件質量,不但依賴于架構及項目管理,而且與代碼質量緊密相關。這本書圍繞“代碼質量與其整潔度成正比”給出了一系列論述以及行之有效的整潔代碼操作實踐,“干凈的代碼,既在質量上較為可靠,也為后期維護、升級奠定了良好的基礎”。第一章論述了“整潔代碼”。雖然我還沒有豐富
2、的工程實踐經歷,但是第一章中提出的一種錯誤的想法“能運行的爛程序總比什么都沒有強”非常熟悉,在以往寫簡單的練習題時,即使代碼量很小,我首要追求的就是 ac 這道題,對代碼質量不管不顧,它也解釋了這種做法的原因,即:希望快點完成,早點結束手上的任務。然而,制造混亂將會帶來巨大的代價,往往混亂的代碼在以后的維護中將會越來越混亂,隨著混亂的增加,生產力將會降低趨向于零,后果不堪設想。開發者一方面被之前的混亂拖后腿,另一方面背負期限的壓力只好制造混亂,程序員太難了。文中提到做的快的唯一方法就是始終盡可能保持代碼整潔,可是我又不能讓我之前的開發者保持代碼的整潔,那這樣就導致程序員一方面要忍受之前的開發者
3、制造的混亂,又要努力從現在開始盡量保持代碼的整潔,還是太難了,所以往往糟糕的代碼只會越來越爛, 但是不能因為困難就制造混亂,我們要做負責任的開發者、程序員,不僅要為我們的 project 負責,也是為后來的開發、維護人員負責。保持代碼整潔,停止制造混亂,從我做起。 不同的人對整潔代碼的定義不同,文中記錄了一些厲害的程序員的看法, 比如 bjarne 說“我喜歡優雅和高效的代碼。代碼邏輯應當直截了當,叫缺陷難以隱藏;盡量減少依賴關系,使之便于維護;依據某種分層戰略完善錯誤處理代碼;性能調至最優,省得引誘別人做沒規矩的優化,搞出一堆混亂。整潔的代碼只做好一件事”,即:“優雅”和“效率”; grad
4、y 的觀點與 bjarne 類似“整潔的代碼簡單直接。簡潔的代碼如同優美的散文。整潔的代碼從不隱藏設計者的意圖,充滿了干凈利落的抽象和直截了當的控制語句”。文中還引用了好多人的看法, 其中提到的“讓營地比你來時更干凈”總結出一條很好的規定。接著,作者從“命名”、“函數”、“注釋”、“格式”、“對象和數據結構”、“錯誤處理”、“邊界”、“單元測試”、“類”、“系統”、“跌進”、“并發編程” 等不同方不同層次分別闡述了寫整潔代碼需要遵守的小技巧, 并給出了案例分析, 以及 3個 java項目的剖析與改進過程。命名方面要做到名副其實,名稱應該能答復所有的大問題,它應該告訴你它為什么會存在,它做什么事
5、,應該怎么用;命名要避免誤導,必須避免留下掩藏代碼本意的錯誤線索;命名要做有意義的區分;使用讀得出來的名稱;使用可搜索的名稱,例如用 work_days_per_week 比數字 5 好得多;命名應該準確,每個概念對應一個詞,不用雙關語,添加有意義的語境但不要添加沒用的語境。我在我為數不多的編程經歷中,就感受到了命名的難度,受限于自己的描述技巧和文化水平都太平庸,命名總是稀奇古怪,沒有規范。最近在學習交換的程序時,也深受命名的折磨,也許也是自己對協議的理解不夠透徹,總覺得程序里面一些pdu 定義和協議里面的規定不夠統一,我就認為程序里面對 pdu 元素定義的名稱應該與協議里保持完全一致,這樣清
6、晰明了,對于我這樣的菜鳥新手,分析程序里定義的 pdu 一些元素的含義花了我好大力氣,深受打擊。關于函數, 第一規則是要短小,我一直明白這個道理,但是要做到還是很難;函數應該只做一件事,做好這件事,似乎好像做到這條要求,函數應該就會短小很多,要判斷函數是否不止做了一件事就是看是否能再拆出一個函數;函數別重復自己,分隔指令與詢問。還有一些規則,由于自己知識水平有限不能理解,只能在以后漫長的學習工作中慢慢體會實踐,例如每個函數一個抽象層級、函數參數最理想參數數量是零,其次是一,再次是二,應盡量避免三,在我的認知里還不能理解函數怎么能沒有參數,以及使用異常代替返回錯誤碼。萬萬沒想到,之前都隨便寫的注
7、釋也有講究,雖然有些規則不明白具體意義,只能在以后的實踐中慢慢體會實踐。“什么也比不上放置良好的注釋來得有用。什么也不會比亂七八糟的注釋更有本事搞亂一個模塊。什么也不會比陳舊、提供錯誤信息的注釋更有破壞性”,注釋的恰當用法是彌補我們在用代碼表達意圖時遭遇的失敗,我很贊成作者解釋的理由“注釋存在的時間越久,就離其所描述的代碼越遠,越來越變得全然錯誤,原因很簡單,程序員不能堅持維護注釋”。這一章讓我印象深刻,注釋不能美化糟糕的代碼, 帶有少量注釋的整潔而有表達力的代碼要比帶有大量注釋的零碎而復雜的代碼像樣得多,與其花時間編寫解釋你搞出的糟糕的代碼的注釋,不如花時間清潔那堆糟糕的代碼。盡量用代碼來闡
8、述解釋,作者認為好注釋有法律信息、對意圖的解釋、對某些晦澀的參數或返回值的意義翻譯、警告、 todo 注釋,千萬不要喃喃自語寫一些廢話注釋,能用函數或變量時就別用注釋。關于格式, 代碼風格和可讀性會影響到可維護性和擴展性, 作者介紹了垂直格式和橫向格式。垂直格式上, 應該向報紙學習, 名稱應當簡單一目了然, 源文件最頂部應該給出高層次概念和算法, 細節應該往下漸次展開, 垂直方向上每個函數之間應該有空白行隔開, 被調用的.函數應該在執行調用的函數下面;橫向格式上, 賦值操作符周圍加上空格字符, 函數名和左圓括號之間加空格, 乘法因子之間不加空格,加減法運算項之間用空格隔開,用好縮進。最后要服從
9、團隊規則,要讓一組開發者采用團隊規則從而軟件擁有一以貫之的風格。寫整潔代碼,需要遵循大量的小技巧,貫徹刻苦習得的“整潔感。這種“代碼感”就是關鍵所在。寫代碼和寫文章等創作很像,其實倒不如把寫代碼也看成一種創作,在寫論文或文章時,你先想什么就寫什么,然后再打磨它,初稿也許粗陋無序,你就斟酌推敲,直至達到你心目中的樣子,代碼也需要打磨直至成為整潔的代碼。但是感覺實際工作中,大部分代碼調試至通過測試就耗費了大量精力,通過測試后也就沒有更多力氣來打磨代碼了。在閱讀這本書的時候, 我感到非常吃力, 有沒有 java基礎的原因, 也有缺乏軟件開發一些基本理念的原因, 還有缺乏實戰的經歷, 很多應用背景我都理解不了, 很多地方對我來說有點晦澀難懂, 在今后的學習、 工作中, 要繼續對其中提到的規則進行理解、 消化、 實踐最終變成自己在編程中本能的能力, 希望自己能在以后的學習中多多積累軟件開發的一些“常識”, 能夠養成良好的軟件開發的習慣, 形成屬于自己的軟件開發思維, 我覺得這些大牛程序員就是在長時間的實踐中不斷思考不斷通過思考提升自己的代碼質量, 然后日積月累形成了屬于自己的一套理論。我也希望自己在寫代碼的時候能夠多思考, 怎么寫更好, 怎么寫能夠既實現功能又整潔、 可讀性高、 可維護性和可擴展性好, 這一定需要長時間的學習、 實踐、 思考才能慢慢進步逐步提高。不要僅僅只是追求實現功能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國300#溶劑油數據監測報告
- 2025至2030年中國領航舵琉璃擺件市場分析及競爭策略研究報告
- 2025至2030年中國銀色激光膜市場分析及競爭策略研究報告
- 2025至2030年中國郵政客戶服務跟蹤系統市場分析及競爭策略研究報告
- 2025至2030年中國虛擬網計費卡市場分析及競爭策略研究報告
- 2025至2030年中國耐曬品藍色淀市場分析及競爭策略研究報告
- 2025至2030年中國磨床油霧收集處理器市場分析及競爭策略研究報告
- 2025至2030年中國電顯組合氣扳機市場分析及競爭策略研究報告
- 2025至2030年中國烤地瓜機市場分析及競爭策略研究報告
- 2025至2030年中國油田加熱器市場分析及競爭策略研究報告
- DB15-T 4061-2025 沙化土地防護灌木林(沙柳、梭梭、檸條)碳匯儲量監督抽查技術規范
- 智能門鎖項目可行性分析報告
- 鄰里糾紛及其合法合理處理課件
- 河南省鄭州市第八中學2025年七下英語期末經典試題含答案
- 2025年高考生物真題(安徽)含答案
- 中醫八段錦課件
- 2025年高考真題-政治(黑吉遼卷) 含答案(黑龍江、吉林、遼寧、內蒙古)
- 口腔科清洗間管理制度
- 拌合站會議管理制度
- 2025年八年級學業水平考試生物試卷 (附答案)
- T/QX 004-2020工業清洗作業人員呼吸防護用品選擇、管理、使用和維護指南
評論
0/150
提交評論