搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
重构HTML:改善Web应用的设计:improving the design of existing web applications
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115210470
  • 作      者:
    (美)Elliotte Rusty Harold著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2009
收藏
编辑推荐
    随着网站越来越大,问题开始出现:速度变慢、链接失败、安全性变差、兼容性降低……怎么办?从头开始重建网站总不是明智之举,这需要投入大量时间和财力。其实,你完全可以四两拨千斤,使用简单有效的技术、工具和诀窍来重构既有代码。<br>    世界级专家Elliotte Rusty Harold在本书中采用理论与实践相结合的方式,展示了如何开展HTML重构,使网站具备更好的可靠性、可用性、安全性、可访问性、兼容性,提高网站性能。书中详细描述了如何从过时的代码向现在稳定的Web标准(包括XHTML、CSS和REST)迁徙,并淘汰诸如基于呈现的标记、状态相关的应用程序和 “标签汤”。<br>    本书在手,助你的网站实现质的飞跃。
展开
作者简介
    Elliotte Rusty Harold世界知名技术作家、程序员,纽约科技大学计算机系副教授。讲授面向对象编程方面的课程。他的网站Cafe con Leche是XML方面的热门网站之一。他著有Effective XML和XML in a Nutshell等一系列知名作品。
展开
内容介绍
    本书采用理论与实践相结合的方式,展示了如何重构HTML,以获得更佳的可靠性、性能、可用性、安全性、可访问性、兼容性,甚至实现良好的搜索引擎优化。书中详细介绍了如何辨别应该重构的Web代码中的“坏味道”,如何把旧的HTML转换为良构和有效的XHTML,如何使用CSS改善现有的布局,如何通过用GET替换POST、替换旧的联系表单和重构JavaScfipt来更新Web应用程序,如何系统地重构内容和链接,如何在不改变用户所依赖的URL的前提下重建网站。<br>    本书适合Web设计人员、开发人员、项目经理和需要维护或更新既有网站的人使用。
展开
精彩书评
    “Elliotte的著作在我的书架上始终占据一席之地。……他通过本书把重构的益处带入了HTML世界。”<br>    ——Martin Fowler<br>    “本书提供了一系列改善现有布局或者更新旧Web应用的技巧,强烈推荐!”<br>    ——-Amazon.com
展开
精彩书摘
    第1章  重构<br>    重构。什么是重构?为何要重构?<br>    简明扼要地说,重构是在不改变程序行为的基础上进行小的改动,是代码基逐渐改善的过程,通常也需依赖于一些自动化工具的帮助。重构的目标是移除长年积聚下来的烂码,以得到更清晰和更容易维护、除错以及添加新功能的代码。<br>    严格地说,重构实际上并不涉及除错,也不增加新功能。但在实践中,重构的过程总是会碰到需要修正的错误,也会有需要加入新功能的时候。重构通常会化繁为简,化难为易。改善代码的第一步是重组代码。<br>    举个例子,无论是为了开始新的学期,还是从事新项目或新工作而需要彻底整理你的工作区、桌面或者办公室,此时你就会意识到什么是重构。重构让你推陈出新,不会让你白手起家。通过重构你会得到整洁有序的工作空间,从中可以找到所有需要的东西,并因此提升工作效率。
展开
目录
Chapter 1:Refactoring,a First Example 重构,第一个例子1<br>The Starting Point 起点1<br>The First Step in Refactoring 重构第一步7<br>Decomposing and Redistributing the Statement Method 分解并重组slalemenl方法8<br>Replacing the Conditional Logic on Price Code with Polymorphism 用多态代替价格条件逻辑代码34<br>Final Thoughts 结语52<br><br>Chapter 2:Principles in Refactoring 重构原则53<br>Defining Refactoring 何谓重构53<br>Why Should You Refactor? 为何重构55<br>When Should You Refactor? 何时重构57<br>What Do I Tell My Manager? 怎样说服经理60<br>Problems with Refactoring 重构的问题62<br>Refactoring and Design 重构与设计66<br>Refactoring and Performance 重构与性能69<br>Where Did Refactoring Come From? 重构的起源71<br><br>Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏昧75<br>Duplicated Code 重复代码76<br>Long Method 过长方法76<br>Large Class 过长类78<br>Long Parameter List 过长参数列表78<br>Divergent Change 发散式变化79<br>Shotgun Surgery 霰弹式修改80<br>Feature Envy 特性依恋80<br>Data Clumps 数据泥团81<br>Primitive Obsession 基本类型偏执81<br>Switch Statements switch语句82<br>Parallel Inheritance Hierarchies 平行继承体系83<br>Lazy Class 冗余类83<br>Speculative Generality 理论上的一般性83<br>Temporary Field 临时字段84<br>Message Chains 消息链84<br>Middle Man 中间人85<br>Inappropriate Intimacy 过度亲密85<br>Alternative Classes with Different Interfaces 接口不同的等效类  85<br>Incomplete Library Class 不完整的库类86<br>Data Class 数据类86<br>Refused Bequest 拒绝继承87<br>Comments 注释过多87<br><br>Chapter 4:Building Tests 构建测试89<br>The Value of Self-testing Code 自测试代码的重要性89<br>The JUnit Testing Framework Junit测试框架91<br>Adding More Tests 添加更多测试97<br><br>Chapter 5:Toward a Catalog of Refactorings 重构目录103<br>Format of the Refactorings 重构描述的格式103<br>Finding References 寻找引用105<br>How Mature Are These Refactorings? 这些重构的成熟度如何  106<br><br>Chapter 6:Composing Methods 组合方法109<br>Extract Method 提取方法110<br>Inline Method 内联方法117<br>Inline Temp 内联临时变量119<br>*Replace Temp with Query 用查询方法代替临时变量120<br>Introduce Explaining Variable 引入解释性变量124<br>Split Temporary Variable 分离临时变量128<br>*Remove Assignments to Parameters 去除参数赋值131<br>Replace Method with Method Object 用方法对象代替方法135<br>Substitute Algorithm 替换算法139<br><br>Chapter 7:Moving Features Between Objects 在对象之间移动特性  141<br>*Move Method 移动方法142<br>Move Field 移动字段146<br>Extract Class 提取类149<br>Inline Class 内联类154<br>Hide Delegate 隐藏委托类157<br>Remove Middle Man 去除中间人160<br>Introduce Foreign Method 引入外加方法162<br>*Introduce Local Extension 引入本地扩展类164<br><br>Chapter 8:Organizing Data 组织数据169<br>Self Encapsulate Field 自封装字段171<br>Replace Data Value with Object 用对象代替数据值175<br>Change Value to Reference 将值对象改为引用对象179<br>Change Reference to Value 将引用对象改为值对象183<br>Replace Array with Object 用对象代替数组186<br>Duplicate Observed Data 重复被观察数据189<br>*Change Unidirectional Associationto Bidirectional 将单向关联改为双向197<br>Change Bidirectional Association to Unidirectional 将双向关联改为单向200<br>*Replace Magic Number with Symbolic Constant 用字面常量代替魔数204<br>Encapsulate Field 封装字段206<br>Encapsulate Collection 封装集合208<br>Replace Record with Data Class 用数据类代替记录217<br>*ReplaceType Code with Class 用类代替类型码218<br>Replace Type Code with Subclasses 用子类代替类型码223<br>Replace Type Code with State/Strategy用State/Strategy 代替类型码227<br>Replace Subclass with Fields 用字段代替子类232<br><br>Chapter 9:Simplifying Conditional Expressions 简化条件语句237<br>Decompose Conditional 分解条件语句238<br>Consolidate Conditional Expression 合并条件语句240<br>Consolidate Duplicate Conditional Fragments 合并重复的条件片段243<br>Remove Control Flag 去除控制标志24
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证