Strategy Pattern 重構 switch-case 語法
Switch case block是一種常見的編程結構,通常用於根據不同的情況執行不同的代碼。然而,當情況增加時,switch case block變得冗長且難以維護。為了解決這個問題,可以使用Strategy Pattern來重構switch case block。 Strategy Pattern是一種行為型設計模 …
Switch case block是一種常見的編程結構,通常用於根據不同的情況執行不同的代碼。然而,當情況增加時,switch case block變得冗長且難以維護。為了解決這個問題,可以使用Strategy Pattern來重構switch case block。 Strategy Pattern是一種行為型設計模 …
前言 Java Spring Boot是一個非常流行的開源框架,它提供了很多便捷的功能來簡化開發過程。其中一個非常有用的功能就是@Retryable,它可以讓開發人員輕鬆地實現方法的重試機制。本文將介紹@Retryable的優缺點、使用方法、注意事項以及範例。 @Retryable是Spring Retry模塊提供的注 …
Java的BlockingQueue是一個線程安全的佇列,它提供了阻塞式的添加和移除元素的操作,這些操作可以保證在多線程環境下的安全性。下面是一個基於陣列的BlockingQueue的實作範例: 在這個範例中,我們使用了ReentrantLock和Condition來實現互斥和同步。當一個線程嘗試向佇列中添加元素時,如 …
什麼是共生性 (Connascence) ? 共生性(Connascence)是一個軟件工程領域的術語,指的是在軟件系統中,兩個或多個模塊之間的相互依賴關係。 共生性可以分為高度共生性和低度共生性兩種。高度共生性表示兩個模塊之間的依賴關係非常強烈,一旦其中一個模塊發生了變化,另一個模塊也必須相應地進行修改才能保持正常運 …
什麼是GPX? GPX (GPS Exchange Format) 是一種用於交換 GPS 資料的標準格式,它是一個基於 XML 的開放標準。你可以使用各種程式語言來解析 GPX 檔案。下面是一些常用的方法: 如果你有足夠的 XML 基礎,可以使用 XML 解析庫來手動解析 GPX 文件。 如何解析GPX? 用 Pyt …
Apache Maven是一個軟件項目管理和自動化軟件建構工具。它使用XML格式的項目配置文件和一組在命令行中運行的指令,來控制軟件項目的建構、測試和部署。 以下是一些常用的Maven指令: 這些指令可以在命令行中直接運行,也可以在項目的pom.xml文件中作為插件執行。 此外,Maven還有許多其他插件可以用來自動化 …
何謂壞味道 (Bad Smell / Code Smell) 程式中需要進行重構的部分,被稱為壞味道或程式碼臭味 (Bad Smell / Code Smell) 當程式中有下列這些問題時,就可能存在壞味道: 難以理解 例:函式、類別名稱名命太籠統不明確;程式碼太長,或函式做太多事;Magic Number之類的神秘數 …
技術債 – Technical debt 是什麼? 技術負債(英語:Technical debt),又譯技術債,也稱為設計負債(design debt)、程式碼負債(code debt),是程式設計及軟體工程中的一個比喻。指開發人員為了加速軟體開發,在應該採用最佳方案時進行了妥協,改用了短期內能加速軟體開發 …