《程序員修煉之道》第一二章讀書筆記

最近在看《程序員修煉之道:通向務實的最高境界》這一本書,記錄一下看書時的一點淺薄感悟。

????????務實程序員不僅是一種技能水平的體現,更是一種持續修煉、不斷反思并主動承擔責任的過程。對自己的行為負責是務實哲學的基石之一。

????????在重構CRM時面對文檔缺失、邏輯混亂的舊代碼,數據來源不清楚時,我的職責不再僅僅是寫出符合預期的效果的代碼結果,更應該讓代碼便于他人理解、便于維護、經得起時間的考驗。于是,我在關鍵邏輯節點上撰寫了詳細注釋,并將核心業務流程文檔化。

????????繼續閱讀第二章時,“DRY——不要重復自己”的原則讓我印象最深。在多個項目中我常看到同一個業務邏輯被以不同方式在多個模塊中重復實現,改動某一處時卻遺漏了其他地方,最終導致數據不一致或 Bug 頻出。其實違反DRY并不只是代碼的冗余,更是變相的增加了風險和維護成本。

????????其中有一個觀點:并非所有的代碼重復都是知識的重復,提到了一個例子:需要校驗用戶的訂單數量和年齡,然后寫了兩個方法來進行校驗。實際上這并沒有違背DRY原則,代碼雖然重復了,但是他們的業務完全不相干,只是校驗邏輯恰好一樣而已。在DRY-不要重復自己觀念中需要深刻去理解需求,理解“重復”的本質,必須從業務需求層面深入分析,而不能僅僅從表象的代碼結構出發。

????????總結來說,《程序員修煉之道》前兩章看似講的是哲學與方法論,但其實處處貼近開發的實際內容。它不是要告訴我們“怎么寫代碼”,而是教會我們“怎么思考問題、怎么定義自己的職業角色”。結合自身實踐,我更加明白,成為一個真正“務實”的程序員,是一種習慣的養成,是提高自己的職業綜合素養。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89676.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89676.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89676.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ArcGISPro應用指南:使用ArcGIS Pro創建與優化H3六邊形網格

H3 是由 Uber 開發的一個開源地理空間分析框架,旨在通過將地球表面劃分為等面積的六邊形網格來支持各種地理空間數據分析任務。每個六邊形單元在 H3 系統中都有一個獨一無二的標識符,即 H3 指數。這種網格系統不僅能夠覆蓋全球,而且適用于任何…

xss-dom漏洞

目錄 靶場搭建 第一關 第二關 第三關 第四關 第五關 第六關 第七關 第八關 靶場下載地址:https://github.com/PwnFunction/xss.pwnfunction.com 靶場搭建 將文件用clone 下載到ubuntu, 然后進入 cd xss.pwnfunction.com/hugo/ 這個目錄下 hu…

BPE(字節對編碼)和WordPiece 是什么

BPE(字節對編碼)和WordPiece 是什么 BPE(字節對編碼)和WordPiece 是自然語言處理中常用的子詞分詞算法,它們通過將文本拆分為更小的語義單元來平衡詞匯表大小和表達能力。 BPE(Byte Pair Encoding,字節對編碼) 原理 初始化:將文本按字符(或Unicode字節)拆分為最小…

Java行為型模式---狀態模式

狀態模式基礎概念狀態模式(State Pattern)是一種行為型設計模式,其核心思想是允許對象在內部狀態發生改變時改變它的行為,對象看起來好像修改了它的類。狀態模式將狀態相關的行為封裝在獨立的狀態類中,并將狀態轉換邏輯…

重學Framework Input模塊:如何實現按鍵一鍵啟動Activity-學員作業

需求背景: 近來vip群里學員朋友有問道一個需求,大概需求就是他們做TV的Framework開發,想要遙控器有一個新定義的兒童節目按鍵,想要實現這個按鍵按下后就跳轉到兒童節目的Activity。需求拆解及作業要求: 針對上面需求&a…

bmp圖像操作:bmp圖像保存及raw與bmp轉換

1. 保存bmp圖像&保存一張正弦圖像到D:\1.bmp /********************************************** * fileName bmpinc.h * brief 對bmp文件的操作,包括: * - saveBmp:保存bmp文件 * - Save…

SpringAI——提示詞(Prompt)、提示詞模板(PromptTemplate)

Prompt 是引導 AI 模型生成特定輸出的輸入格式,Prompt 的設計和措辭會顯著影響模型的響應。最開始Prompt只是單純的文本文字,后面可以包含占位符,可以識別消息的角色。比如包含占位符的Prompt,也就是我們講的消息模板(PromptTemplate)&#x…

【深度學習筆記 Ⅰ】5 參數和超參數

在深度學習中,參數(Parameters) 和 超參數(Hyperparameters) 是模型訓練中兩個核心概念,它們共同決定了模型的性能,但作用方式和優化方法截然不同。以下是詳細對比與解析:1. 參數&am…

Linux 阻塞等待框架

在 Linux 設備驅動開發中,阻塞機制 是處理資源暫時不可用(如設備未準備好數據、緩沖區滿等)的核心手段。驅動程序可以將被阻塞的進程設置成休眠狀態,然后,在資源可用后,再將該進程喚醒。 在 Linux 驅動開發…

PCIe RAS學習專題(3):AER內核處理流程梳理

目錄 一、AER內核處理整體流程梳理 二、AER代碼重要部分梳理 1、AER初始化階段 2、中斷上半部 aer_irq 3、中斷下半部 aer_isr 3.1、aer_isr_one_error 3.2、find_source_device 3.3、aer_process_err_devices 3.4、handle_error_source 3.5、pcie_do_recovery 整體邏…

?HAProxy負載均衡集群概述

前言: 在現代分布式系統中,負載均衡和高可用性是保障服務穩定性和性能的關鍵技術。HAProxy 作為一款高性能的 TCP/HTTP 負載均衡器,憑借其輕量級、高并發處理能力和靈活的配置機制,成為構建高可用架構的核心組件之一。通過智能的流…

ELN:生物醫藥科研的數字化引擎——衍因科技引領高效創新

在生物醫藥研究領域,實驗數據的準確記錄與管理是科研成敗的關鍵。想象一個場景:某頂尖醫學院實驗室,研究員小張正為一項抗癌藥物實驗焦頭爛額。紙質記錄本中,數據混亂、協作困難,導致實驗重復率高達20%。引入衍因科技的…

暑假---作業2

學習目標&#xff1a;xss-1abs 1-8關python美現自動化布爾自注的2、代碼進行優化(二分查找)學習內容&#xff1a;1.xss-1abs 1-8關1<h2 align"center">歡迎用戶test</h2>2 <script> alert (1)</script&gt<center> <form action&…

【Tensor數據轉換】——深度學習.Torch框架

目錄 1 Tensor與Numpy 1.1 張量轉Numpy 1.2 Numpy轉張量 1 Tensor與Numpy 1.1 張量轉Numpy 調用numpy()方法可以把Tensor轉換為Numpy&#xff0c;此時內存是共享的。 使用copy()方法可以避免內存共享 import torch import numpy as np# tensor轉numpy:numpy() def test0…

基于Tranformer的NLP實戰(5):BERT實戰-基于Pytorch Lightning的文本分類模型

文本分類作為自然語言處理中的基礎任務&#xff0c;能夠幫助我們將海量醫學摘要自動歸類到具體疾病領域中。本文將基于NVIDIA NeMo框架&#xff0c;構建一個用于醫學疾病摘要分類的深度學習應用&#xff0c;支持將摘要劃分為三類&#xff1a;癌癥類疾病、神經系統疾病及障礙、以…

14-鏈路聚合

鏈路聚合技術 一 鏈路聚合概述鏈路聚合定義鏈路聚合是把多條物理鏈路聚合在一起&#xff0c;形成一條邏輯鏈路。應用在交換機、路由器、服務器間鏈路。分為三層鏈路聚合和二層鏈路聚合。二 鏈路聚合的作用 1. 鏈路聚合模式靜態聚合模式 端口不與對端設備交互信息。選擇參考端口…

學習C++、QT---28(QT庫中使用QShortcut類對快捷鍵創建和使用的講解)

每日一言 所有的努力&#xff0c;都是為了讓未來的自己感謝現在的你。 QShortcut 我們的記事本肯定要有通過快捷鍵對字體的放大和縮小進行控制的功能啊&#xff0c;那么我們這邊就這個問題我們需要先學習一下QShortCut 我們這個類就是專門做快捷鍵的 老樣子我們剛開始學習這個…

Web Worker:讓前端飛起來的隱形引擎

目錄 Web Worker&#xff1a;讓前端飛起來的隱形引擎 一、什么是 Web Worker&#xff1f; 1、為什么需要 web worker 2、什么是 web worker 二、基本使用方法 1、創建一個 Worker 文件&#xff08;worker.js&#xff09; 2、主線程引入并使用 三、實戰案例&#xff1a;…

關于在VScode中使用git的一些步驟常用命令及其常見問題:

輸入 gitee用戶 gitee綁定郵箱git config --global user.name "automated-piggy-senior" git config --global user.email "1323280131qq.com"克隆遠程庫到本地 git clone https://gitee.com/automated-piggy-senior/20250717-test.git常見問題1&#xff1…

LeafletJS 性能優化:處理大數據量地圖

引言 LeafletJS 作為一個輕量、靈活的 JavaScript 地圖庫&#xff0c;以其高效的渲染能力和模塊化設計深受開發者喜愛。然而&#xff0c;當處理大數據量&#xff08;如數千個標記、復雜的 GeoJSON 數據或高分辨率瓦片&#xff09;時&#xff0c;LeafletJS 的性能可能面臨挑戰&…