tag 重構

標籤
貢獻19
102
05:25 PM · Nov 04 ,2025

@重構 / 博客 RSS 訂閱

碼海探險家 - TCP粘包產生的原因、解決方法及Qt項目代碼實現

前言 在 Qt 網絡開發中,TCP 粘包 / 拆包問題與多線程管理是兩個繞不開的核心痛點。傳統方案中,開發者常通過繼承 QThread 為每個 TCP 連接創建獨立線程,這種方式不僅會導致線程創建銷燬的巨大開銷,還容易因鎖管理不當引發競態條件。本文將深入剖析 TCP 粘包 / 拆包的底層原理,詳解如何用 QRunnable + 線程池替代 QThr

線程池 , tcp , ip , qt , Css , 前端開發 , 重構 , HTML

收藏 評論

站在巨人的肩上 - 關於大方法拆成小方法

以前工作時,一位前輩習慣拆方法,把一個很長的方法拆成多個小方法,當時費解,直到此時此刻 當時覺得,沒必要啊,我看代碼熟悉業務的時候,還得來回返回,一整個大方法,看起來多方便 剛才,我在寫一個複雜的方法,因為代碼複用,拆出了很多小方法, 這算是需要拆方法的原因之一 關鍵是,當我在改某個方法的時候, 突然忘了這個方法是幹嘛的了,就往上翻註釋,而方法太大,翻到了很多if/else,而我不得不把

方法 , 架構 , 重構

收藏 評論

騷銘科技 - [代碼拯救行動] 10月份 代碼檢視案例+重構

代碼檢視問題總結 案例一 首先來看一段代碼 //根據Y01, Y03 匹配 公募基金一年、三年的數據 for (ProfitRelative profitRelative : publicFund.getProfitRelativeList()) { if ("Y01".equals(profitRelative.getDuration())

JAVA , 代碼質量 , 重構

收藏 評論

Zilliz - (文末福利)如果代碼莫名其妙跑起來了,就不要去動它了……嗎?

🤫 關注 Zilliz 微信公眾號並回復「重構」🤫 獲取《重構:改善既有代碼的設計》超詳細思維導圖 雖然代碼還是可以跑,但是各種規則越來越複雜、核心繼承體系越來越凌亂、系統的維護工作越來越重…… 1999 年,Martin Fowler 作為技術顧問造訪了一個項目,他建議項目經理好好整理這些亂糟糟的代碼。然而,項目經理表示:🙏算了吧🙏 六個月後,這個項目宣告失敗,因為代碼太複雜難

敏捷開發 , 敏捷 , 書籍 , 重構

收藏 評論

咕咕雞 - 減少80%存儲-風控名單服務重構剖析

引言 小小的 Redis 大大的不簡單,本文將結合風控名單服務在使用 Redis 存儲數據時的數據結構設計及優化,並詳細分析 redis 底層實現對數據結構選型的重要性。 背景 先來交代下使用場景,在風控場景下,名單服務每時每刻都需要承受海量數據查詢。 名單檢索內容涉及維度非常廣:用户業務標識(UID)、手機號、身份證號、設備號、IMEI(International Mobile Equipmen

風險控制 , redis , 重構

收藏 評論

京東雲開發者 - 遺留代碼處理技巧與案例演示

1 什麼是遺留代碼 本質是一種技術債務,產生原因一方面是業務原因:如業務本身場景繁多、流程複雜等;另一方面是技術原因:如代碼不規範、設計不合理、祖傳代碼文檔註釋缺失等。它會影響我們的程序很多方面:如可讀性、可修改性、可複用性、可維護性、可測試性等。 2 遺留代碼處理過程拆解 劃分為梳理-重構/重寫-替換/驗證三個階段 2.1 梳理 遺留代碼的處理是一種逆向工程,從已有的代碼+數據模型+文檔倒推出

耦合性 , 複用 , 代碼優化 , 代碼規範 , 重構

收藏 評論

一丁目 - javascript變量命名規範

程序員三大難題:變量命名、緩存失效、循環邊界。 駝峯命名 首先,和其他語言一樣,大部分變量建議採用駝峯命名法。 var articleTitle = 'javascript變量命名規範' 而對於常量,使用大寫字母和下劃線來組合命名。 const COUNTRY_NAME = 'China' 根據變量類型來命名 普通變量/屬性 儘量用簡單易懂的 名詞 結尾,前面可以加 形容詞/名詞 來修飾。 va

命名規範 , 代碼規範 , 重構 , 前端 , Javascript

收藏 評論

百度Geek説 - 百度視覺搜索架構演進實踐

本文深入探討百度視覺搜索在快速發展的業務及技術背景下,如何通過持續的技術創新和架構升級強化自身的競爭力和適應性,支撐業務健康高效迭代。本文介紹了我們如何通過技術棧升級、架構能力提升以及穩定性建設,來實現全鏈路架構的演進。藉助Golang、百度自研GDP開發框架和ExGraph圖化引擎,我們對視覺搜索展現架構進行了全面重構,並重新定義了視覺搜索全系統通路上的模塊職責和分層邏輯,開展了一系列系統收斂內

架構 , 百度 , 重構

收藏 評論

徐石頭 - 代碼重構實戰

背景 用户頭像上傳功能中,服務端上傳流程如下: base64解碼成字符串 圖片寫入服務器本地臨時目錄 上傳到阿里雲OSS/七牛雲存儲 圖片審核 代碼如下 type Parms struct { Head string //客户端發送base64字符串 } func Upload(p Params){ if p.Head == ""{ return err

實戰 , 圖片上傳 , 重構 , go

收藏 評論

百度Geek説 - 用增結算數倉化改造:在/離線調度系統的構建與應用

導讀 移動運營推廣平台(OPS)承載着百度內部移動應用/移動搜索業務的用户增長預算的全流程結算線上化管控功能,為了解決用增業務發展規模擴大、原有技術架構老舊、無離線數倉系統等一系列的問題,針對全域結算數據啓動了整體的架構改造。為了解決業務中存在的問題,本文深入探討並提出了一類在線、離線結合的任務調度解決方案,完成了結算業務架構更新換代,更好地服務於業務發展。 01 背景簡述 1.1業務/技術背景

大數據 , 架構 , 百度 , 重構

收藏 評論

得物技術 - 社區點贊業務緩存設計優化探索

背景 內容點贊業務在得物社區中是一個非常高頻的業務場景,功能本身複雜度不高,但是業務場景多、QPS高、而且由於社區的用户體量,整體點讚的數據量非常大。其中最核心、對響應性能要求最高的主要是“用户是否點贊內容”和“內容點贊數”場景。 在得物社區中凡是有內容消費的場景,都會有上面兩個點贊場景的處理,所以整體點贊業務的QPS在社區都是非常高的。當我們在刷各種Feed流時,每一次下滑,都需要對數十篇內容進

緩存 , 重構 , 後端 , 方案

收藏 評論

歲月如歌甚好 - 騰訊全文檢索引擎 wwsearch 正式開源

簡介 文章探討了RAG應用中文檔拆分與檢索的衝突問題,提出瞭解決方案:一是拆分子文檔塊並檢索父文檔塊,保留完整上下文;二是將文檔拆分為較大塊和小塊,索引小塊但檢索返回較大塊。文章詳細介紹了使用LangChain中的ParentDocumentRetriever實現這兩種策略的方法,並提供了代碼示例,幫助開發者優化檢索效果,平衡檢索準確性與上下文完整性。 一、拆

語言模型 , 開發語言 , 架構 , JAVA , 前端開發 , 重構 , Javascript

收藏 評論

百度Geek説 - AI Agent重塑微服務治理

導讀 隨着技術架構的發展,微服務系統的複雜性不斷增加,對運維提出了更高的要求。為了應對這一挑戰,一種AI驅動的微服務治理方案被提出。該方案採用多智能體架構,將運維專家經驗整合,並通過自然語言交互和智能推理,簡化了灰度發佈和配置限流熔斷等操作。利用大型語言模型(LLM)的推理能力,方案能夠進行深入的故障診斷和處理,實現運維經驗的自動化。每個智能體都能承擔特定角色,高效完成複雜任務,並通過持續的數據訓

服務治理 , 運維 , 人工智能 , 重構

收藏 評論

Datenlord - 如何優雅地組織Rust項目中的異步代碼?

概要 很多使用過Async Rust的人都可能有過被其要求的約束所困擾的經歷,例如,spawned task有'static的要求,MutexGuard不能跨越.await,等等。克服這些約束需要仔細地設計代碼結構,很可能會導致晦澀和嵌套的代碼,這對開發人員和審查人員都是一種挑戰。在這篇文章中,我將首先列出我在編寫async Rust代碼時的一些痛點。然後,我將指出我們真正需要異步代碼的場景,並討

code , rust , 異步 , 重構

收藏 評論

歐雷 - 前端鏟💩日記 #1:項目目錄結構調整

最近哥們兒我接手了一個官網的前端項目,雖説是官網,但它是個 Web 應用而非營銷網站,所以還是有一定複雜度在的。 這幾天是邊往死裏摁🐞邊熟悉代碼邏輯,沒想到這是個燙手🍠,前人留了一堆坑給我——令我覺得他撐死了也就中級水平,不能再高了……🙁☹️🙂‍↔️ 是不以為我看到這💩山會苦惱不堪,心中如那呼倫貝爾大草原般萬🐎奔騰? 不!你想錯了!!我興奮得很呢!!! 別誤會,別誤會!我不是那個什麼「

react , 前端架構 , 前端優化 , next.js , 重構

收藏 評論

歐雷 - 前端鏟💩日記 #2:易被忽略的「domain」

若看了上篇筆記,眼尖的鐵汁們應該發現,最終的重構成果並未出現目錄結構調整方案提到的 domain 文件夾。 這是因為領域建模是個相對較難且需要長期去做的事情,所以我們不急,慢慢來,要用心地思考與處理——從本篇筆記開始就會涉及到相關內容啦! 在進行實際的鏟💩演練之前,這篇筆記先來講解下 domain 文件夾的重要性,請各位鐵汁搬來小板凳坐坐好,用小拇指清理下👂🏼聽我説—— 在我所設計的「模塊化

react , 前端架構 , 前端優化 , next.js , 重構

收藏 評論

歐雷 - 前端鏟💩日記 #3:重構「個人主頁」

鐵汁們聽好了哈——從本篇筆記開始,將進入實際的鏟💩演練啦! 這首先要被剷除的💩,是分佈在我接手官網項目後最先接觸的用户個人主頁裏。 在這系統中,用户分個人與項目方兩種,它們的個人主頁雖看起來一樣,但視覺細節和數據結構等還是有些差異的,佈局結構大致如圖所示: 個人主頁原先代碼中,其他部分還算有點封裝意識,但最重要的課程、活動等列表部分的代碼看起來就是初級水平,將它們全部糅合在一個 React

react , 前端架構 , 前端優化 , next.js , 重構

收藏 評論

京東雲開發者 - 同城售後系統退款業務重構心得 | 京東雲技術團隊

一、重構背景 1.1、退款 到家、小時購、天選退款有2套結構,代碼邏輯混亂; 其中小時購、天選部分售後單是和平生pop交互退款,部分是和售後中台交互退款;並且兼容3套邏輯; 痛點:代碼繁重,缺乏合理性的設計,後續迭代開發以及維護成本高,同時增加了系統的風險和不穩定性 1.2、金額計算 到家、小時購兩套獨立的邏輯結構計算,在此基礎上針對退差和非退差又實現了2套邏輯; 針對商品件維度、商品行維度、售後

架構設計 , 重構和設計模式 , 架構 , 重構 , 後端

收藏 評論

得物技術 - “整潔架構”和商家前端的重構之路

1. 背景 團隊歸屬於後方業務支撐部門,組內的項目都以pc中後台應用為主。對比移動端應用,代碼庫比較龐大,業務邏輯也相對複雜。在持續的迭代過程中,我們發現當前的代碼倉庫仍然有不少可以優化的點: 可以減弱對ui框架的依賴 21年前端平台決定技術棧統一遷移到React生態,後續平台的基礎建設也都圍繞React展開,這就使得商家使用Vue生態做開發的系統面臨技術棧遷移的難題,將業務邏輯和UI框架節藕變得

重構 , 前端

收藏 評論

百度Geek説 - 通過Python腳本支持OC代碼重構實踐(三):數據項使用模塊接入數據通路的適配

作者 | 劉俊啓 導讀 在軟件開發中,經常會遇到一些代碼問題,例如邏輯結構複雜、依賴關係混亂、代碼冗餘、不易讀懂的命名等。這些問題可能導致代碼的可維護性下降,增加維護成本,同時也會影響到開發效率。這時通常通過重構的方式對已有代碼結構進行改進和優化。在重構的工作中,大部分的工作是人工的方式完成,是一個耗時且容易出錯的過程。對於研發人員來講,在不改變軟件的功能和行為的前提下,保證質量和效率完成對

腳本 , 自動化 , 重構 , Python

收藏 評論

騰訊雲開發者 - 生存or毀滅?QQ空間150萬行代碼的涅槃重生

騰小云導讀 今年是 QQ 空間誕生的第十八年,空間客户端團隊也在它十八歲生日前夕完成了架構升級。因為以前不規範的多團隊協同開發,導致代碼逐漸劣化,有着巨大的風險。於是 QQ 空間面對龐大的歷史債務,選擇了重構升級,不破不立。這裏和大家分享一下在重構過程中遇到的問題和解題思路,歡迎閲讀。 目錄 1 空間重構項目的背景 2 為什麼要重構 3 空間的架構是如何崩壞的 4 架構的生命力 5 漸進式重構

重構

收藏 評論

百度Geek説 - 百度搜索展現服務重構:進步與優化

作者 |瞭東 導讀 本文將簡單介紹搜索展現服務發展過程,以及當前其面臨的三大挑戰:研發難度高、架構能力欠缺、可複用性低,最後提出核心解決思路和具體落地方案,期望大家能有所收貨和借鑑。 全文4736字,預計閲讀時間12分鐘。 01 背景 百度搜索展現服務的主要職責是請求檢索系統獲取結果,並依次進行模板選擇、實時摘要補充、數據適配和結果渲染,將檢索結果能以豐富多樣的形式精準地展示給用户。在初

百度搜索 , 重構

收藏 評論

數據庫知識分享者 - 別再為沒時間重構找藉口:每年兩次機會,治癒你的代碼潔癖、安撫你的工匠之心!

一、引子 回顧曾在開放平台工作台的三年,發現自己主要是寫業務為主。雖然和同伴們一起參與主導過從組件化到平台化、配置化到定製化的能力建設,但更多的精力也參與在客户拜訪、ISV培訓、數據分析和業務決策,這讓我有了對業務方向的提前感知和判斷,使得在技術側能夠前置準備,更好的服務業務目標。能力建設上沒有什麼阻力,反而省去了很多描寫技術的筆墨。 其實想想,作為一名普通程序員,也許我寫什麼並不值得別人重視,但

雲計算 , 阿里雲 , 重構

收藏 評論

百度Geek説 - 通過Python腳本支持OC代碼重構實踐(二):數據項提供模塊接入數據通路的代碼生成

作者 | 劉俊啓 導讀 在軟件開發中,經常會遇到一些代碼問題,例如邏輯結構複雜、依賴關係混亂、代碼冗餘、不易讀懂的命名等。這些問題可能導致代碼的可維護性下降,增加維護成本,同時也會影響到開發效率。這時通常通過重構的方式對已有代碼結構進行改進和優化。在重構的工作中,大部分的工作是人工的方式完成,是一個耗時且容易出錯的過程。對於研發人員來講,在不改變軟件的功能和行為的前提下,保證質量和效率完成對

腳本 , 重構 , Python

收藏 評論