首页 > 其他分享 >Martin Fowler谈《重构HTML:改善Web应用的设计》

Martin Fowler谈《重构HTML:改善Web应用的设计》

时间:2023-06-21 10:32:50浏览次数:45  
标签:Web 重构 Martin 技术 HTML Fowler


Martin Fowler 谈《重构HTML :改善Web

仅仅十余年, Web 就从一门大有希望的技术演变成了世界基础设施的重要组成部分。在这个绚丽迷人的年代中,涌现了许多有用的资源。一如往常,我们在追求最佳实践的过程中不断地学习技术,而技术本身的成熟也促使我们更好地使用它。

无论多么复杂的 Web 应用程序,最终都要通过 HTML 这种通用的网页描述语言呈现在屏幕上。 HTML 虽然功能非常有限且用途单一,但它也是一门计算机语言。因此,如果想让系统能够轻松迭代进化,必须编写清晰易懂的 HTML 。但跟任何一门计算机语言一样,甚至与任何文章一样,第一次很难写到位。只要坚定决心,反复尝试,就一定能写出清晰易懂的代码来。

重写代码有引进 bug 的风险。几年以前,我曾著书讨论过重构技术,它是一种重写代码的严谨的方法,在修订现有软件时能够大幅度降低引入新 bug 的机会。重构对常规软件语言产生了巨大影响。很多程序员把它作为日常工作的一部分,作为保持代码清晰和提升自己未来工作效率的辅助手段。自动化重构任务的工具也如雨后春笋般涌现,进一步改善了重构的工作流程。

重构能够大幅改善常规的编程,它的基本思想同样可以运用到 HTML 上。重构的步骤虽然不一样,背后的思想却如出一辙。通过学习如何重构 HTML ,可以使 HTML 清晰灵活地适应未来的变化。一旦变化不可避免,可以快速进行改动。这些技术也能让你的网站紧追 Web 技术潮流,尤其是有助于支持 XHTML 和 CSS 。

 

Martin Fowler谈《重构HTML:改善Web应用的设计》_工作

Elliotte Rusty Harold 编写的关于 XML 技术和处理 XML 开源软件的著作很早以前就摆上了我的书架,始终占有一席之地。我一向敬重他这位优秀的程序员和作者。他通过本书把重构的益处带入了 HTML 世界。

—— Martin Fowler

 

标签:Web,重构,Martin,技术,HTML,Fowler
From: https://blog.51cto.com/u_15767091/6527640

相关文章

  • 通付盾升级数信云4.0,利用人工智能、区块链及Web3安全技术助力数据要素市场化
    数据作为新型生产要素已成为数字时代的核心生产力。人工智能、区块链、云计算等新兴技术提升了数据要素的使用效率,开启数字化浪潮。但同时,以“数据上云”为代表的数据应用趋势也带来了数据安全、数据隐私和数据共享难等一系列阻碍数据要素化的问题。2022年12月国务院发布《关于构建......
  • 深入揭示Web 2.0核心技术——混搭
    《Web2.0Mashup开发实战》任何一本书想要做到面面俱到都不易。但拿到《Web2.0Mashup开发实战》这本书时,我却觉得这确实是一本内容相当全面的教材。翻开目录,XML、JavaScript、SOAP、Ajax……各种与Web应用和开发相关的词都跃入眼帘。是的,从混搭的理念出发,我们就是要把所有相关的......
  • PHP Web 2.0开发实战
    如何使用ZendFramework、Smarty、Ajax创建一流的网站 “读完本书后,我发现自己对Web开发和MVC模式的理解都已经今非昔比……强烈推荐此书!”——Amazon.com “……一部极富启发性的PHP实战指导书,业界专家充分演示了如何使用ZendFramework、Smarty、A......
  • SpringBoot之MVC配置(WebMvcConfigurer详解)
    一:基本介绍SpringMVC是一种常用的JavaWeb框架,它提供了一种基于MVC模式的开发方式,可以方便地实现Web应用程序。在SpringMVC中,WebMvcConfigurer是一种常用的配置方式,可以允许我们自定义SpringMVC的行为,比如添加拦截器、消息转换器等。在本文中,我们将介绍什么是WebMvcConfi......
  • 【web开发】PHP命名空间的别名和导入
    前言前面两篇文章我们详细介绍了PHP命名空间的定义和基本使用以及命名空间相关术语解读,对PHP的命名空间的有了更多的了解,本文我们再深入探索PHP命名空间的更多使用技巧。废话不多说,直接上菜。命名空间的别名和导入涉及到命名空间的使用,命名空间中的别名和导入这俩个概念我们是无法......
  • webView链接字串以及多点触摸问题
    packagefirsrdroid.tutorial.mywebview;importandroid.app.Activity;importandroid.os.Bundle;importandroid.webkit.WebView;importandroid.webkit.WebViewClient;publicclassUsingMyWebviewextendsActivity{WebViewmWebView;/**Calledwhentheact......
  • webView中长按后取消菜单js实现
    <!DOCTYPEhtml><html><head><script>functionabsorbEvent_(event){vare=event||window.event;e.preventDefault&&e.preventDefault();e.stopPropagation&&e.stopPropagation();......
  • Springboot web,三层架构, IOC&DI 使用总结2023
    Springbootweb,三层架构,IOC&DI使用总结2023一.spring.io全家桶springbootspringframework基础框架,配置繁琐,入门难度大--》springbootspringcloudspringsecurityspringdataspring发展到今天是一个生态圈,提供了若干个子项目,每个子项目用于完成特定的功能。二.sp......
  • Springboot实现WebSocket
    一、什么是webSocketWebSocket是HTML5下一种新的协议(Websocket协议本质上是一个基于tcp的协议),它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的,WebSocket是一个持久化的协议。二、修改配置文件在application.properties,修改内容为:server.port=......
  • Web编辑器从word复制粘贴图片
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方法,注释掉其中的代码。加入下面的代码://判断剪贴......