在广州的网站构建过程中,我们频繁接触到“DIV+CSS”以及网页CSS重构这一概念,该术语的最初定义是由 C. 和Kent Beck共同提出的。这种重构方式旨在使软件的内在结构更加清晰易懂,同时在不影响软件外部表现的前提下,提升其变更的便捷性。此外,它也是一种有序的HTML代码整理方式,旨在将错误发生的可能性降至最低。
网页CSS重构之后,采纳了便捷的技巧,消除了冗余的HTML内容以及无效的HTML代码,从而使得设计与逻辑更加明朗。这体现了对编程语言的更高效、更智慧的运用。它利用了当时开发程序员所不知或未充分利用的信息,即你现在所掌握的优势。通过持续精简HTML代码,使得其更加易于理解。不断的使 它们在将来的变更变得更容易、更安全。
在此过程中,我们发现了并修复了bug,但这并非网页CSS的重构;优化过程同样不属于网页CSS的重构;强化异常捕捉和添加预防性HTML代码,以及使HTML代码更易于测试,这些行为也不属于网页CSS的重构——尽管通过网页CSS重构同样可以达到类似的效果。上述所有举措均具有积极意义,但它们并不等同于网页CSS的重构。程序员,尤其是负责维护工作的那些,他们日常工作中的一项重要任务就是清理HTML代码。这项工作是基础性的,不可或缺。等人的贡献在于,他们提出了重构HTML代码的最佳实践方法,并对其中的网页CSS重构进行了格式化,同时还将那些常见且经过验证有效的网页CSS重构模式——包括重构的目标和步骤——进行了系统的归档和分类。
网页的CSS重构操作并不复杂。在着手编写HTML代码之前,最好先编写测试用例,这样可以有效避免出错。对HTML代码进行小范围、独立且稳固的结构调整,每完成一次调整后,都应进行测试,以保证HTML代码的功能特性保持不变——即功能和之前一致,只是外观上有所差异。网页CSS重构的流程在重构模式下更加便捷,同时,现代化的集成开发环境(IDE)中内置的CSS重构工具也极大提升了这一过程的可靠性,并显著降低了成本。
不要为了网页CSS重构而网页CSS重构
网页CSS的重新构建可以作为一种助力,帮助你在修改HTML代码时更加得心应手。在进行HTML代码的调整之前,应当先进行CSS重构,这有助于加深你对HTML代码的理解,从而使得变更过程更加简便且安全。对重构后的网页CSS进行回归测试,发现问题后及时进行修正或调整,再进行新一轮的测试。随后,我们或许将面临对更多HTML代码进行网页CSS的重新构建,这样做能让HTML代码的修改意图更加明确。在此之后,必须进行一次全面的测试。在完成网页CSS重构后,再进行代码的变更。亦或是先进行变更,随后再进行网页CSS的重构。
你并非仅仅因为要进行网页CSS的重构而选择重构,实际上,你之所以进行网页CSS的重构,是因为你希望着手于其他任务,而网页CSS的重构能够助力你达成这些目标。
网页CSS重构的范畴应依据你计划对HTML代码进行的修改或修正来确定——为了确保HTML代码的修改更加安全与简洁,你应当采取哪些措施?换言之,不应盲目地仅因重构CSS而进行网页CSS重构。亦即,对于那些你并未计划修改或确定不会修改的HTML代码,不应进行网页CSS重构。
为理解而做简略网页CSS重构( )
在《[书名] with Code》一书中,作者阐述了简化的网页CSS重构理念,并将其命名为“为了理解而进行的网页CSS重构”。这种方法旨在应对那些难以理解(或难以忍受)的HTML代码,通过对其进行清理,以便在着手修改之前,你能更清楚地了解其功能,这对理解和处理这些HTML代码同样有益。一旦你明白了某个变量或函数的真正用途,不妨为它们赋予更恰当的名字,移除那些你不喜欢的(或认为无用的)HTML代码,简化那些复杂的条件判断,并将庞大的程序拆分成若干个易于理解的小模块。
无需挂念对这些修改的再次审核或检验。此举旨在加快你的网页CSS重构进度——这有助于你在短时间内在大脑中形成一个关于HTML代码及其运行机制的不完全模型。通过学习,你可以摒弃这些模型。此外,简化的网页CSS重构还能使你探索多种重构方法,并掌握更多重构技巧。建议在操作过程中关注那些看似无用或至关重要的元素,以便在完成本练习并着手进行实际修改时,能够准确无误地完成任务——在修改过程中要逐步进行,注重技巧,并在修改的同时进行测试。
什么是“大规模”网页CSS重构?
对网页的HTML代码实施细致且显著的CSS重构:消除冗余,优化变量及方法名称的命名,精炼代码逻辑,将无谓的数字替换为具有命名意义的变量,并将相似的HTML代码段进行整合。经过这样的CSS重构,你将显著提升HTML代码的可读性与维护性,从而获得丰厚的回报。这些较小规模的、针对内部网页的CSS重构与更大规模的设计层面上的网页CSS重构存在显著区别——后者即我们所说的“大型网页CSS重构”。这种大型重构涉及重大且代价高昂的改动,并伴随着众多技术风险。它并非编程过程中对HTML代码的简单清理或设计上的小幅度改进:这实际上是对网页进行的根本性重新设计。
有些人将系统重新设计、重写、搭建新平台或进行返工的行为,称之为“大规模网页CSS重构”。实际上,这些操作并未对软件的功能特性造成影响——业务逻辑、软件的输入输出与之前保持一致,改变的仅仅是设计以及HTML代码的实现方式。这种区别与常规网页CSS重构的对比在于,一种是对HTML代码进行了重写,另一种则是整个系统的重构;只要您是逐步完成的,无论是长期致力于将旧系统替换为新的HTML代码,还是对系统架构进行了大幅度的调整,都可以称之为“网页CSS重构”。
进行大规模的网页CSS重构可能会变得相当糟糕。这样的任务可能需要你投入数周、数月甚至数年的时间才能完成,期间需要对软件的众多模块进行修改。由于这些改动,软件可能会出现无法运行的情况,因此你需要分阶段发布这些变更。此外,你还需要准备临时的解决方案和变通措施——尤其是在你采用短周期的敏捷开发模式时。在这个时刻,借助这种实践方式便能够发挥作用,它能够协助你在较长的周期中对HTML代码的变动进行有效管理。
同时,在创建新的HTML代码之际,还需对既有HTML代码进行维护,这导致HTML代码的版本管理变得复杂,修改起来不够便捷,进而使得HTML代码变得较为脆弱,容易出现错误——这一现象与网页CSS重构所追求的目标是相悖的。偶尔,此类状况会持续不断——新旧HTML代码的交替转换过程似乎永无尽头,因为那些能带来最大利益的环节总是率先完成,亦或是起初提出这一构想的顾问已转投他职,又或是预算遭到削减,加之你对维护这个拖延的项目也感到厌烦。这些便是网页CSS重构——那些并非……
在这样的大型项目开发中引入网页CSS重构的理念是不恰当的。这两种工作在本质上截然不同,涉及的开发成本和风险也完全不一样。这容易让人对网页CSS重构的定义及其功能产生误解。
网页CSS的优化应当贯穿于HTML代码编写或维护的全过程——它理应成为日常开发及质量管理不可或缺的一部分,就如同编写测试和进行HTML代码审查一般。这种重构工作应当在不引起注意的情况下,悄无声息且持续稳定地进行。我们必须在有限的工作精力中为其预留一部分,并在项目的时间规划和风险预测中充分考虑到它的必要性。如 果做的正确,你不需要去解释或向外人验证这部分工作。
花上几分钟或一两个小时进行网页CSS的重构,这仅仅是你在开发过程中进行的一次调整,是日常工作的一部分。然而,若这项工作耗费了你数天甚至更长时间,那么这已不再是简单的网页CSS重构;它可能意味着你需要重新编写代码,或者重新设计整个网页。若你打算专门抽出一段时间(或整个阶段)用于网页CSS的代码重构,或者为了清理HTML代码而寻求许可,或者将清理HTML代码列为开发任务,那么你所从事的并非单纯的网页CSS重构——即便你运用了网页CSS重构的相关技术和工具,你的工作性质依然有所不同。本篇文章内容源自广州地区的一家专业网站建设企业以及另一家专注于网站设计及制作的广州公司——广帆互动。