惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
T
Threat Research - Cisco Blogs
小众软件
小众软件
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
博客园 - 【当耐特】
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
The Cloudflare Blog
The Last Watchdog
The Last Watchdog
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
S
Secure Thoughts
O
OpenAI News
P
Proofpoint News Feed
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
Scott Helme
Scott Helme
T
Tenable Blog
A
Arctic Wolf
L
LINUX DO - 热门话题
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Visual Studio Blog
Hacker News: Ask HN
Hacker News: Ask HN
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
博客园 - Franky
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
博客园_首页
雷峰网
雷峰网
IT之家
IT之家
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
H
Heimdal Security Blog

博客园 - 白板

招聘.NET SE/SSE/SA -(内部推荐,上市互联网公司) 招 Senior .NET Software Engineer / Architect (ShangHai HP GDCC Regular) Road on EA & IT Governance Seriously I Enjoy Coding 企业应用层面的架构人员---持续关注SpringSide(续) 持续关注SpringSide “官方”辨析---Business Model, Business Object Model, Domain Model, Object Model, Data Model Form Data Validation Framework? ROI of Agile Approach 读 《J2EE Without EJB》 几点WebService集成体会 界面集成 在UI层使用Domain逻辑的一些探讨 Involve me and I'll understand Look at the logic host by OO or SP from Maintaince View Tools Support for high level architecture HP's Scalable world-wide .net-connected service framework 大公司 or 小公司? Thoughtworks - Orchestration Patterns
重读《重构》之杂感
白板 · 2006-01-25 · via 博客园 - 白板

两年后再次翻阅《重构》,感觉很多手法已经很自然的融入到平时的开发之中。而平时开发中有时犹豫不决的地方,在《重构》里正好有最佳解决方案,看来还是温书太少。

有一点,不知道别人会否和我一样想,世事无绝对,比如书里提到消灭switch, 我曾经对一段简单的代码采用remove switch with state and polymorphism, 但是实在感觉那么简单的一个class没必要又抽象出N个子类和方法的多态实现,如此去处理,感觉反而不好维护不好理解。我担心会不会有时候别人指着书对着我的代码说“嘿,按重构手法,这里应该这样改...”,要知道系统总是会有很多trade-off,比如简单编码,效率,代码所有权等等,未必是按照重构手法就是最优的解决方案,书里面也提到了,先重构了碰到效率等问题的时候以后再调整,要知道有可能那段代码已经是trade-off之后的产物。

顺便提一点当前手上碰到的一个很难进行重构的场景:项目已经进入维护阶段,客户的需求是分批来,但是后来的需求可能很紧急需要比先到的需求提前发布,所以项目经理采用了版本控制“基线+分支”的方式,我在某个分支上如果做了重构,每次将分支合并到基线上去的时候简直是莫大的痛苦,而且很容易出错,而其它正在开发的分支以后再合并的时候又要痛苦一次。有时候会放弃重构,感觉就象是看着代码在慢性死亡。

还有个疑问:喜欢重构的人的家里面是一番什么样子呢?一个喜欢代码干净利落的人,会不会忍受自己家里面东西乱摆乱放象个狗窝样呢?至少我不太喜欢那个样子。