<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>可维护性 on Jeanphilo Blog</title><link>https://shio-chan-dev.github.io/jeanblog/zh/tags/%E5%8F%AF%E7%BB%B4%E6%8A%A4%E6%80%A7/</link><description>Recent content in 可维护性 on Jeanphilo Blog</description><generator>Hugo -- 0.159.2</generator><language>zh-cn</language><lastBuildDate>Sat, 24 Jan 2026 15:42:47 +0800</lastBuildDate><atom:link href="https://shio-chan-dev.github.io/jeanblog/zh/tags/%E5%8F%AF%E7%BB%B4%E6%8A%A4%E6%80%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>用多态替换 if：把流程判断变成对象职责</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/design/replace-if-with-polymorphism/</link><pubDate>Sat, 24 Jan 2026 15:42:47 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/design/replace-if-with-polymorphism/</guid><description>通过对象职责拆分，消除重复 if 判断。</description></item><item><title>如何重构嵌套错误码：从深层 if 到清晰流程</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/refactor-nested-error-codes/</link><pubDate>Sat, 24 Jan 2026 15:29:20 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/refactor-nested-error-codes/</guid><description>用早返回与小函数拆分重构深层嵌套错误处理。</description></item><item><title>数据抽象被破坏的例子：为什么实现细节不该外泄</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/design/data-abstraction-violation/</link><pubDate>Sat, 24 Jan 2026 15:29:20 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/design/data-abstraction-violation/</guid><description>通过示例说明数据抽象被破坏的后果，并给出修复方法。</description></item><item><title>好的语言与差的语言：工程视角的判断标准</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/language/good-vs-bad-language/</link><pubDate>Sat, 24 Jan 2026 13:08:42 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/language/good-vs-bad-language/</guid><description>从可读性、工具链与安全性出发，讨论语言优劣的工程标准。</description></item><item><title>什么时候紧耦合是合理的：工程上的现实选择</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/architecture/when-tight-coupling-ok/</link><pubDate>Sat, 24 Jan 2026 13:08:42 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/architecture/when-tight-coupling-ok/</guid><description>讨论紧耦合的合理场景与风险控制方法。</description></item><item><title>在存储过程中写业务逻辑：优点、缺点与边界</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/database/business-logic-in-stored-procedures/</link><pubDate>Sat, 24 Jan 2026 13:08:42 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/database/business-logic-in-stored-procedures/</guid><description>讨论把业务逻辑放进存储过程的收益、风险与适用场景。</description></item><item><title>没有异常机制的语言设计：收益与代价</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/language/no-exceptions-pros-cons/</link><pubDate>Sat, 24 Jan 2026 13:04:00 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/language/no-exceptions-pros-cons/</guid><description>分析无异常机制的语言设计动机、优点与缺点，并给出工程取舍建议。</description></item><item><title>模式匹配 vs Switch：表达力与可维护性的差异</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/language/pattern-matching-vs-switch/</link><pubDate>Sat, 24 Jan 2026 12:53:37 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/language/pattern-matching-vs-switch/</guid><description>对比模式匹配与 switch 的表达力、可读性与可维护性，并给出实践建议。</description></item><item><title>为什么软件维护困难：复杂性、耦合与人</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/why-software-maintenance-hard/</link><pubDate>Sat, 24 Jan 2026 12:47:45 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/why-software-maintenance-hard/</guid><description>分析软件维护困难的原因，并给出缓解策略。</description></item><item><title>为什么说 goto 有害：可读性、可维护性与替代方案</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/language/why-goto-harmful/</link><pubDate>Sat, 24 Jan 2026 12:45:38 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/language/why-goto-harmful/</guid><description>分析 goto 带来的问题，并给出可读性更好的替代写法。</description></item><item><title>代码中的注释有用吗：什么时候写、写什么</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/comments-in-code/</link><pubDate>Sat, 24 Jan 2026 12:42:52 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/comments-in-code/</guid><description>解释注释的价值与风险，并给出可执行的注释策略。</description></item><item><title>内聚与耦合的区别：衡量设计质量的两把尺</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/design/cohesion-vs-coupling/</link><pubDate>Sat, 24 Jan 2026 12:42:52 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/design/cohesion-vs-coupling/</guid><description>解释内聚与耦合的差异，给出评估与改进方法。</description></item><item><title>为什么 TDD 先写测试：反馈、设计与信心</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/tdd-tests-first/</link><pubDate>Sat, 24 Jan 2026 12:42:52 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/tdd-tests-first/</guid><description>解释 TDD 先写测试的原因，以及它如何改善设计与反馈速度。</description></item><item><title>重构何时有用：时机、信号与风险控制</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/refactoring-when/</link><pubDate>Sat, 24 Jan 2026 12:42:52 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/refactoring-when/</guid><description>解释重构适用场景、触发信号与风险控制方法。</description></item><item><title>迪米特法则（最少知识原则）：违例与修复示例</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/design-patterns/law-of-demeter/</link><pubDate>Sat, 24 Jan 2026 12:40:32 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/design-patterns/law-of-demeter/</guid><description>解释迪米特法则的核心思想，并给出违反与修复示例。</description></item><item><title>空对象模式的目的：消除空指针分支</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/design-patterns/null-object-pattern/</link><pubDate>Sat, 24 Jan 2026 12:40:32 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/design-patterns/null-object-pattern/</guid><description>解释空对象模式的设计目的、适用场景与工程落地示例。</description></item><item><title>为什么组合优于继承：灵活性、可测试性与演进成本</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/design-patterns/composition-over-inheritance/</link><pubDate>Sat, 24 Jan 2026 12:40:32 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/design-patterns/composition-over-inheritance/</guid><description>解释“组合优于继承”的工程原因，并给出可运行示例与落地步骤。</description></item><item><title>什么是好代码：可读、可测、可演进</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/what-is-good-code/</link><pubDate>Sat, 24 Jan 2026 12:33:47 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/engineering/what-is-good-code/</guid><description>从可读性、正确性与演进成本出发定义好代码，并给出可执行的判断清单。</description></item><item><title>什么是三层架构：职责划分与工程价值</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/architecture/threelayer-architecture/</link><pubDate>Sat, 24 Jan 2026 12:29:51 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/architecture/threelayer-architecture/</guid><description>解释三层架构的分层职责、优缺点与适用场景。</description></item><item><title>封装为什么重要：边界、演进与可维护性</title><link>https://shio-chan-dev.github.io/jeanblog/zh/dev/design/encapsulation-importance/</link><pubDate>Sat, 24 Jan 2026 11:03:05 +0800</pubDate><guid>https://shio-chan-dev.github.io/jeanblog/zh/dev/design/encapsulation-importance/</guid><description>从系统演进角度解释封装的价值，并给出可落地的封装实践与示例。</description></item></channel></rss>