- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
我经历的重构
我经历的重构
潘俊勇
Pycon China 2013
关于我
• 潘俊勇,老潘
• @ panjunyong
• Zope/ Plone社区:2002-2006
• 易度云办公():2007-至今
Limodou:重构,Refactoring
为什么需要重构
• 有味道的脏代码
–毒害新人:学到坏东西
–影响老手:心情不佳
• 重构
–建立清新美好的代码环境
–激发追求美好的欲望
什么时候重构
• 看到问题就重构
• 员工离职的时候,和交接人员重构
• 小的重构,多多益善
减少重构
• 设计review
• Code review
• 新员工培训
• 手把手改代码
• 及早优化开发框架
• 更多的文档
这是我想讲的吗?
No
我更想说的是“大重构”
• 人在江湖漂,哪能不挨刀
• 我和“那些坑”的故事
–大的模块全部重写
–更换架构、框架,甚至语言
–技术选型碰到的问题
为什么“大重构”
• 旧代码:已经让人犯恶心
• 无法适应新需求
–性能更快
–体验更好
–移动端等的支持
• 新技术成为新标准:
–前端:ajax框架、mvc、Bootstrap/html5
–后端:新语言、云平台、开放架构
渐进,或者革命?
案例一:ZOPE2 ZOPE3
Zope2 的繁华(1997-2004 )
• Zope从python社区的明星
• Zope公司200多人
• 社区庞大活跃,健全的生态
• 活跃的Plone
• 《魔法大熔炉》经典成案例
Zope2 的优势
• 浏览器上web开发
–非常快速
–非常简单
• 现在Salesforce提供的PaaS也是这样
Zope2 的问题
• 浏览器开发很原始
–代码如何版本管理
–浏览器开发模式不清晰
• 底层代码耦合高,基于继承,比较复杂,
难维护和扩展
当年的明星: java (2000年)
• J2ee太酷了
• 组件架构很酷
• 基于接口编程很快
• Xml配置应用很酷!
Zope3 的想法:干点大事了
• 重构!完全重构
• 向偶像学习,打造python版本的j2ee !
• 为python写组件架构ZCA :zope组件架构
• Xml装配组件
• 基于接口,全部重写!
后来。。。
• 首先偶像J2EE 因为太复杂,并没有保持偶像地位
• zope3也很复杂
• 和zope2完全不兼容
• Zope2被迫引入了Zope3, 更复杂
• 推出时间太长,4年多
– zope2停止发展,问题无人解决
– 大量竞品出现:Django、ROR
• 摧毁生态,社区迷茫
• 社区基本瓦解,Zope基本死亡,Plone停止发展
• Zope公司缩小10倍,20多人
Zope2重构反思
• 不能抛弃用户
–首先优化浏览器开发模式(解决用户之痛)
• 底层代码渐进演化
–应该采用wsgi分割的方式来做
–将复杂系统物理分割为多个子系统
–另外一个项目:Repoze
迷失的黑客
• 给j2ee坑了
• 妄自菲薄:我们怎么写了如此shi 的程序
• 程序员着急了
–我是不是该干点大事了!
重构:渐进,或革命
• 渐进:
–如同改革,不断局部改良,确保大局稳定
–风险最小
–不会影响整个
您可能关注的文档
- SGS20100728研讨会提纲.pdf
- ACSC56-41SURKWA-F01,ACSC56-41SURKWA-F01,ACSC56-41SURKWA-F01, 规格书,Datasheet 资料.pdf
- ACSC04-41CGKWA-F01,ACSC04-41CGKWA-F01,ACSC04-41CGKWA-F01, 规格书,Datasheet 资料.pdf
- LYONDELLBASELL产品目录.pdf
- 股票收益的长期波动研究.pdf
- 百威英博2015年半年报.pdf
- ICFE考试简介.pdf
- 中国煤炭行业China Coal Industry Report,2010Q1.pdf
- ACSA02-41SURKWA-F01,ACSA02-41SURKWA-F01,ACSA02-41SURKWA-F01, 规格书,Datasheet 资料.pdf
- 世界发展指标2010.pdf
最近下载
- 项目名称《三亚市天涯镇总体规划(2012-2020)》局部调整.PDF VIP
- 2025中华护理学会团体标准——成人患者医用粘胶相关性皮肤损伤的预防及护理.pptx
- 新增头部伽马刀、体部伽马刀项目环评.pdf VIP
- 凤凰单枞茶功效与作用.doc VIP
- 建筑工程测量试题及答案(完整)KK.doc VIP
- 文松宋晓峰小品《新琅琊榜》搞笑版苏公子剧本台词完整版.docx VIP
- GB-T 6820-2016 工业用乙醇-国家标准.pdf
- 企业绿色供应链发展规划.docx VIP
- 武汉大学中南医院新增I-125粒籽植入核技术利用建设项目环境影响报告表.docx VIP
- 中国癫痫诊疗指南.pdf VIP
原创力文档


文档评论(0)