首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏CSS森林

    我的页面重构经验

    我的页面重构经验 由 Ghostzhang 发表于 2006-03-23 10:19 前两天跟群里的『白菜』兄谈到了学习web标准中遇到的问题,觉得很值得写一下,是我对标准的一些理解,希望对在学习web 现在学习web标准的人越来越多,对于刚接触标准的人来说,我想大多数人的第一个印象就是用DIV+CSS制作页面,使用DIV来布局的确是标准的一个主要的特点,但标准并不只是用DIV+CSS布局,看过w3cn 下面是我的制作页面的一点经验,权当是总结吧,跟大家分享一下: 第一阶段 开始制作的时候,应该先从没有样式表文件的页面做起,做到最基本的结构,就是使用结构化、语义化的标记,如用ul,li标签或dl,dt, 第三阶段 做完上面两个阶段,你的页面基本上已经可以通过W3C的验证了。现在我们来让它偏离一点标准,使它兼容多个浏览器。这个阶段是很无奈的,为什么呢? 因为是在FF中做的页面,所以现在主要要解决页面在IE中的显示问题,在我BLOG上可以找到相关的一些资料,主要是使用hack,但hack不是标准,所以使用hack有可能会通不过W3C的代码验证。

    83670编辑于 2022-08-22
  • 来自专栏siri的开发之路

    Go项目重构经验分享——ORM框架实践

    一、背景介绍本文介绍了笔者在重构一个 Go 项目的实践经验,老项目由于迭代速度快,导致了接口杂乱,结构扁平,代码耦合度高等问题,在项目复杂度增加的情况下不再适合扩展,因此对整个项目进行了重构。 篇幅有限,本文主要介绍 ORM 层的重构。 三、ORM层目录结构老项目的目录结构比较简单,重构后根据标准Go项目目录结构 推荐的方式重新整理,当前的目录结构大致如下:.├── internal│ ├── handler│ ├── usecase ,因此这里没有额外创建 pkg 包handler 包中为业务逻辑,router负责路由注册,剩下的 usecase 、repository 以及 model 均为数据库相关的包四、重构过程gorm 推荐的方式 "Age": user.Age, "Sex": user.Sex, "Phone": user.Phone,})在 gorm 中一定要严格注意零值和非零值的判断,否则可能出现意想不到的结果3.

    1.4K30编辑于 2023-09-25
  • 来自专栏静之森

    曲折的 Vue 3 重构后台之路

    3个月前,曾经有过想法重构现在的后台。Vue 3 也正式发布很久了,所以是时候重构到 Vue 3 了。但是由于当时尝试了很多 UI 库之后都没有找到一个好用的库。没有一个库能很好的支持 TSX。 一番 demo 之后决定捡起三个月前的项目重构成 naive-ui。 CommonJS 在 prod 中的问题 刚开始基本都是一帆风顺,很快的就重构了之前用 element-ui 写的没法看的 table组件。但是之后在build之后的prod环境下出了问题。 后来我又想,不应该啊,vite 都 v2 怎么可能处理不了 CommonJS 模块,然后我就升级了一下 vite 版本(因为是 3 个月前的项目),但是还是不行。 直接和作者对接 build 内存溢出的问题 终于,5 天时间重构的差不多了,是时候投入生产了。

    69330编辑于 2021-12-28
  • 来自专栏IMWeb前端团队

    移动端重构实战系列3——各种等分

    ”本系列教程为实战教程,是本人移动端重构经验及思想的一次总结,也是对sandal及sheral UI的一次全方位剖析,首发在imweb和w3cplus两大站点及“前端Talk”微信公众号,其余所有标注或没有标注来源的均为转载 default; // 目前只支持2 或 3 等分 .card-list { @if $cardFlexSwitch { display: flex; flex-wrap

    52920发布于 2019-12-04
  • 来自专栏云前端

    用 Typescript + Composition API 重构 Vue 3 组件

    本文会将使用 JavaScript 和 Options API 构建的传统结构 Vue 3 组件,重构为使用 TypeScript 和 Composition API 的版本。 同时因为这些既有组件拥有单元测试,我们也将观察这些测试在重构过程中是否仍有效、我们要不要改进它们。 至少经验告诉我们,如果只是进行不改变组件对外行为的单纯重构,是不用改变测试的;而如果需要的话,说明你的测试并不理想,它们关注了实现细节。 1. 既有组件 我们将重构 FilterPosts 组件。 下面来着手 NewsPost 组件的重构3. 所有测试通过,重构完成。 5. 讨论 值得注意的一点是我完全没为此次重构改变原先的单元测试。这是因为测试聚焦于组件公开行为,而非内部实现逻辑。好处就在于此。

    1.8K30发布于 2020-07-09
  • 来自专栏全栈程序员必看

    Unity3d的Log系统重构

    编者注 由于要重写Unity3d的Log系统,变更为自定义方式,按照Log4j的显示的内容方法 Unity3d的Log 一般在Unity3d中编写日志入下代码 Debug.Log("hello message 性能低下,根据有经验的人讲解,在客户端打印大量日志,会严重降低渲染性能。 Unity3d的Debug原理 原理分析 在Rider中查看Debug.Log的实现,我们可以看到如下内容 public static void Log(object message) { Debug.unityLogger.Log

    1.9K10编辑于 2022-07-20
  • 来自专栏腾讯IMWeb前端团队

    移动端重构实战系列3——各种等分

    ”本系列教程为实战教程,是本人移动端重构经验及思想的一次总结,也是对sandal及sheral UI的一次全方位剖析,首发在imweb和w3cplus两大站点及“前端Talk”微信公众号,其余所有标注或没有标注来源的均为转载 default; // 目前只支持2 或 3 等分 .card-list { @if $cardFlexSwitch { display: flex; flex-wrap

    43520编辑于 2022-06-29
  • 来自专栏IMWeb前端团队

    移动端重构实战系列3——各种等分

    本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 ”本系列教程为实战教程,是本人移动端重构经验及思想的一次总结,也是对sandal及sheral UI的一次全方位剖析, 首发在imweb和w3cplus两大站点及“前端Talk”微信公众号,其余所有标注或没有标注来源的均为转载。 default; // 目前只支持2 或 3 等分 .card-list { @if $cardFlexSwitch { display: flex; flex-wrap

    1.8K70发布于 2018-01-08
  • 来自专栏测试开发干货

    接口测试平台代码实现55:首页重构-3

    接下来我们进行美化操作: <h3> 您的请求记录:</h3> <div id="home_log_plan" style="padding-left: 20px;overflow-y:

    61120编辑于 2022-05-19
  • 来自专栏京程一灯

    重构-代码整洁之道TypeScript版》第3

    ---- 今天让我们来继续第3天,老规矩先来回顾一下昨天我们都实现了哪些: Change Reference to Value(将引用对象改为值对象) Change Value to Reference (图片:博格达峰) 什么是重构? 简单理解就是不改变软件可观察行为的前提下,改善其内部结构,以提高理解性和降低修改成本。 ---- 1. 这里也可以使用逻辑与继续更复杂的应用 // if(isNotEligible){ if(isNotEligible && onVacation){ return 0; } } 3.

    87230发布于 2020-08-04
  • 来自专栏陶然同学博客

    【网页前端】CSS进阶-综合案例3定位重构

    本期介绍 本期主要介绍CSS进阶-综合案例3定位重构 文章目录 1. 综合案例 1:列车时刻表 1.1 需求说明 1.2 需求分析 1.3 代码实现 2.  综合案例 2:分块展示板 2.1 需求说明 2.2 需求分析 2.3 代码实现 3. 综合案例 3:商品广告页(主练案例) 3.1 需求说明 3.2 需求分析 4.  要求: 1 、 该内容在网页中居中显示 2 、 每个小块的“预约免费学习”,正常时是图 1 ,鼠标在文字上悬停时展示图 2 2.2 需求分析 2.3 代码实现 3. 综合案例 3:商品广告页(主练案例) 3.1 需求说明 如图,编写生成商城的 居中 商品广告页 提示:使用 table 更简单。 3.2 需求分析 4. 

    53530编辑于 2023-02-27
  • 来自专栏JavaGuide

    3 年 Java 工作经验裸辞

    周末就不分享技术了,分享一位 3 年Java工作经验的读者裸辞之后的提问。 读者的提问内容如下 : Guide哥,晚上好。 我2019年毕业,现在有3年的Java工作经验,刚毕业前半年在一家知名上市公司,后面则进入一家传统行业公司待到现在2年半。 想请教Guide哥的是: 不知道在现在这种已经裸辞的场景下,看不下八股文,以及不做计划地断断续续只看项目视频而不跟着实践的行动是否是对后续面试很不利的,该如何端正好自己的心态和行动 个人觉得3年的路走下来 3、单体管理后台项目通常不会涉及到什么性能优化,做这类项目主要学到的是业务相关的知识,在面试中非常不吃香。

    58920编辑于 2022-11-07
  • 来自专栏Go工具箱

    3个实用重构技术,改进你的代码

    代码重构是在不改变外部功能的情况下对现有代码进行改进。它是编程的核心部分之一,不容忽视。否则,您就无法获得更好的代码版本。代码重构可以增强代码的可读性、可维护性和可扩展性。 今天,我们将探讨一些可以帮助您更好地重构代码的技巧。 如何重构 在寻找重构的技术之前,让我们看看如何将代码重构集成到编码过程中。以下建议可用于此目的: 专门为重构代码分配时间。 将较大的重构问题分解为较小的问题进行管理。 试着让整个团队参与重构过程。 使用可以帮助您查找常见重构错误的自动化工具。 现在,让我们从用于重构的技术开始。 32; if (temperature > FREEZING_POINT) { // Do something if temperature is above freezing } 技术3重构后,我们将其替换为为两者提供和的函数。 结论 对于任何想要提高代码质量、性能和可维护性的开发人员来说,重构都是必不可少的实践。

    70220编辑于 2023-08-28
  • 来自专栏神奇的程序员的专栏

    使用Vite重构Vue3项目

    前言 截止发文时间,vite正式版已经发布快2年时间了,vue3也发布到3.2版本了,它的周边设施基本上已经齐活了。也是时候再次重构下我那个vue3.0的开源项目了。 本篇文章就记录下我的重构过程,欢迎各位感兴趣的开发者阅读本文。 环境搭建 1年多前,我用Vue Cli 4.5构建的此项目,有关此项目的更多细节请移步我的另一篇文章使用Vue3重构Vue2项目。 : .npmrc index.html package.json vite.config.ts 经验分享 本章节就跟大家分享下,我切到新环境后做的一些优化点以及遇到的问题和解决方案。 image-20220806102302026 解决方案 经过一番排查后,是因为项目typescript版本是3.x,跟3.2版本的vue不兼容,需要将其升级至4.x版本。 : message-display.vue EventMonitoring.ts 项目地址 至此,项目的重构工作就结束了。

    2.7K10编辑于 2022-10-30
  • 来自专栏技术之路

    重构学习-重构原则

    什么是重构: 视上下文重构有两个不同的定义,第一个定义是名词形式 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本 重构的另一人用法是动词形式 使用一系列的重构手法 强调一下,重构不会改变软件的可观察行为,也就是说重构之后功能和原来一样。 为什么要重构重构改进软件设计,如果没有重构,程序的设计会逐渐腐败变质。 重构的原动力是:代码设计无法帮助我轻松的添加我所需要的功能,如果用某种设计方式,添加功能会简单的多,这种情况可以用 重构来弥补。重构是一个快速流畅的过程,一旦完成重构,新特性的添加会更快速,更流畅。 如果在修改bug和审查代码时发现不合理的地方也要进行重构,这样是为了更好的阅读和理解代码 何时不重构: 如果发现代码太混乱,重构它不如重写来的简单这种情况下建议重写,不用进行重构。 最后你没有时间进行重构表明你其实早就该进行重构重构与性能: 有时为了让代码更容易理解,会做出一些使程序运行变慢的修改,这是个重要的问题。

    1.4K50发布于 2018-01-31
  • 来自专栏腾讯IVWEB团队的专栏

    【译】通过可选链操作符重构大型代码库的经验教训

    我决定用其来重构Mavo(当然了,还需要提供一个转译版本来适配不支持该特性的浏览器)。 需要寻找的场景 如果决定重构代码,那么,需要针对哪些场景呢? 最简单明显的就是将foo && foo.bar优化成foo?.bar。 defaultValue 数组校验 if (foo.length > 3) { foo[2] } 现在可改写成: foo?. 以下是一个真实例子,起初我是这样重构的: this.children[index] ? 在需要进行区分的场景下,就会引入BUG,这可能是通过这种方式进行重构时引入的最常见问题。

    1.2K30发布于 2020-07-14
  • 如何用GitHub Copilot重构SQL,避免全表扫描:我的实战经验

    Copilot立即给出了几个关键建议:避免在列上使用函数,改为范围查询为create_time和merchant_id创建复合索引考虑使用覆盖索引第二步:重构SQL语句基于Copilot的建议,我重写了查询语句

    45610编辑于 2025-09-15
  • 来自专栏韩曙亮的移动开发专栏

    重构重构概要--六大重构模块

    重构方法介绍: 重构改善既有代码的设计 一 重新组织函数 关于注释 :要尽可能少的使用注释 , 注释越多代码的可读性反而更差,注释可以使用函数名来代替 , 不要管函数名有多长, 即使函数名比函数中的代码还要长也不要紧 能更加明确的表明函数的意义,可以将这个算法替换; 二 在对象之间搬移特性 功能模块归属类:对象设计中, 将一个功能模块放在哪个类中,是最重要的任务之一,谁也不能一开始保证设计的是完全合适的,这就需要“对象之间搬移特性”这个重构方法 搬移函数和搬移字段:这两种重构方法都可以解决大多数的问题,如果两种方法同时使用,先搬移字段,在搬移函数。

    1.1K30编辑于 2023-03-27
  • 来自专栏神奇的程序员的专栏

    使用Vue3+TS重构百星websocket插件

    前言 前几天我用Vue3重构了我那个Vue2的开源项目,最后还遗留了一个问题:项目中用的一个websocket插件还不能正常使用。于是,我决定重写这个插,让其支持Vue3。 插件解读 image-20201103005333494 如上图所示就是即将要重构的插件,目前有735个star,我们先将插件代码clone到本地。 ,接下来就可以用Vue3 + TypeScript来重构它了。 接下来,就跟大家分享下我的重构过程以及踩到的一些坑。 安装依赖 在用ts重构前,我们需要先安装相关依赖包,执行下述命令即可安装。 ,我们将整个项目的文件复制到一个vue3项目的node_modules/vue-native-websocket下,替换原先的文件。

    3.6K30编辑于 2022-04-10
  • AI重构“屎山”脚本,3步自动拆解优化

    某自动化测试项目里,有一个脚本写了三年,从最初的几十行,长成了一个三百多行的单体函数——登录、建草稿、发布文章、检查首页展示、清理数据,全挤在一个函数里,中间还散布着六七个sleep(3),没人说得清哪个是真的必要 三、一次"登录发文"脚本的重构 重构前的脚本是这样的:一个三百多行的单体测试函数,里面散布着六个sleep(3),而登录这一段代码,几乎一字不差地,在另外八个测试文件里各复制了一遍。 ()五个函数;把login()抽到共享的Page Object里,八个文件里重复的登录代码全部替换成调用这一个共享方法;六个sleep(3)里,五个被替换成针对具体元素状态的显式等待,比如等发布按钮真正可点击 剩下那一个sleep(3),AI建议直接删掉,因为它前后看起来没有对应任何明显的UI状态变化。 团队最后没有简单地把sleep(3)加回去,而是把"检查首页展示"这一步换成了带超时的轮询等待,同时把这个缓存刷新延迟的问题报给了后端,作为一个真正的缺陷跟进,而不是继续靠测试脚本里的等待时间来掩盖。

    10200编辑于 2026-06-30
领券