首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将设计稿转成高度可维护的代码? | ArchSummit

在过往,我们探索并实践过工程化、低代码化等方案,研发效能的提升已经到达了一个平台期,如何进一步提升研发效能,打通设计与研发的工作流程,实现规模化生产,仍是许多前端同学与设计同学一直关注的痛点问题。...11 月 12-13 日,ArchSummit 全球架构师峰会(深圳站)策划了【面向未来的前端技术】专题,我们邀请了来自京东的资深前端开发工程师李伟涛老师,分享议题“研发提效 2.0:设计稿转代码的探索与实践之路...”,在本次分享中,李伟涛老师将结合团队具体的业务场景,分享京东在设计稿转代码上的思路方案以及遇到的问题,带领大家全方位了解如何将设计稿转换成高度可维护的代码,从而减少前端工程师的工作量,提升开发效率,创造更多业务价值...目前很多设计稿转代码工具,依旧面临着许多技术难点问题,例如识别不全面、识别准确度不高、无法满足定制化需求等,设计要落地为代码,生成的代码结构往往也面临可维护性方面的挑战。...如何由设计稿生成静态代码,又如何让静态代码拥有灵魂,完美地还原设计稿,本次分享李伟涛老师将结合京东大促业务场景为大家带来最佳实践。

89130

如何编写可测试的代码:两个核心三个思路

因此,本文以 Go 语言为例,讲讲如何设计和编写容易测试的业务代码。 其实,如果有意识地设计数据结构和函数接口,其实我们的代码是很容易进行测试的,不需要任何奇技淫巧。...不过实际工作中,大部分同学在设计阶段并没有 For Test 的意识,自然而然就会写出一些很难测试的代码。...那接下来我们就进入正题:如何编写易于测试的业务代码。 01、把大象放进冰箱 把大象装进冰箱有几个步骤? 打开冰箱门; 把大象塞进去; 关上冰箱门。...然而,如果在写业务代码时有意识地稍微考虑一下可测试性,那么写单元测倒是真的是一件挺容易的事情,主要就两步: 设置好所有入参的值; 判断输出的值是否如预期。...monkeyPatch 应该只出现在给老项目补单测当中,我还是更多地讲讲如何编写可测试代码。

62841
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一周技术学习笔记(第61期)-如何编写可测试的代码

    如何编写可测试的代码 重构和测试是要成对出现的。 重构是在不改变原先功能的前提下就行的代码调整。那你怎么确保没有改变原先的功能呢,就需要测试。...要测试,不是说,我硬写一个Junit、Spock,最关键的是你的代码要可测试。 下面这段代码可测试吗?...代码片段选自极客专栏《遗留系统现代化实战》 看到这样的代码,你可能会说,这质量还行啊,可读性不错,职责也比较清晰。的确是这样,但这样的代码却是不可测的。...我们都知道,高可用有个衡量的标准,就是我们常说的4个9,5个9等等,那实际上要保证4个9以上的高可用,也就是年度不可用时间要小于53分钟。...《云原生混沌工程实践》 如何实现系统的高可用,具体都有哪些手段呢? 那么能不能提前发现,或者我们可以人为地做什么动作,能够验证整个应用系统架构的鲁棒性到底如何呢?

    39320

    【每日精选时刻】如何编写可测试的代码;Python基础;MySQL的体系结构;Vue插槽

    别再忽视数组排序的重要性了 在日常开发中,数组排序是一个非常常见的操作。很多开发者可能会认为排序只是一个简单的操作,但实际上,实现一个高效、稳定、可扩展的排序算法并不容易。...3、开发者生活 如何编写可测试的代码:两个核心三个思路 在需要长期迭代的项目中编写单元测试,已经在各个团队中逐渐成为一种虚伪的共识。虽然嘴上都说好,但身体很诚实。...造成这种认知的本质问题主要有两点,除了在意识上没有真正认同单元测试的价值外,更多的还是因为实践中发现编写单元测试太耗时,经常要花费很多时间去设计测试用例,而且为了让被测函数跑起来,需要花费大量时间去为它创建运行环境...因此,本文以 Go 语言为例,讲讲如何设计和编写容易测试的业务代码。...好啦,这就是本期【每日精选时刻】的全部内容了,我们下期再见。拜拜~ ^_^

    48340

    代码重构的技巧和工具:如何使用重构工具和设计模式提高代码的可读性和可扩展性

    代码重构是软件开发过程中的重要环节,它旨在改进现有代码的结构、设计和实现,以提高代码的可读性、可维护性和可扩展性。本文将介绍代码重构的技巧和工具,以及如何使用重构工具和设计模式来优化代码。...(4) 引入设计模式使用设计模式如工厂模式、单例模式、观察者模式等,提高代码的灵活性和可扩展性,减少代码的耦合度。...(4) 引入设计模式根据具体场景引入适当的设计模式,如工厂模式、单例模式、观察者模式等,提高代码的灵活性和可扩展性。...5.总结代码重构是提高代码质量和可维护性的重要手段,通过合理的重构技巧和工具,可以优化代码结构和设计,提高代码的可读性、可维护性和可扩展性。...同时,引入适当的设计模式也可以进一步提高代码的灵活性和可扩展性。希望本文能够帮助开发者更好地应用重构工具和设计模式,提高代码质量和开发效率。

    33510

    在编写RTOS代码时,如何设计一个简单、优雅、可拓展的任务初始化结构?

    随着写代码功力的提升,个人对于代码的整洁、优雅、可维护、易拓展等就有了一定的要求,虽然自己曾经就属于那种全局变量满天飞,想到哪里写到哪里的嵌入式软件工程师;但是这一切在现在来说必须要结束了!...要想做一个好的项目,我们时刻都要去想它的框架如何设计,如何去兼容未来的拓展,以便我们构建一个优雅、整洁、易维护、易拓展的程序,少出问题,少加班,拿高薪;因此,我们必须在代码的设计上利用编程语言的特性来下一些功夫...,而且任务并不算很多;但是如果任务更多,这个代码看起来就会很长,比如我找来的下面这个代码,具体就不说是哪位小伙伴写的了: static void AppTaskStart (void *p_arg)...解决这个问题可以使用一种简单的、可扩展的RTOS初始化设计模式,这个设计模式的原则就是创建一个通用的初始化函数,然后这个函数可以遍历RTOS初始化配置表来初始化所有的任务,让我们来看看如何创建这样的设计模式...4、结论 这种简单的RTOS初始化的设计模式是可扩展的,可重用的,并且能够很容易进行修改。这是嵌入式软件工程师如何利用设计模式的一个很好的例子。这种设计模式可以与任何RTOS一起使用。

    90342

    Playwright系列:​第16章 Playwright测试封装与部署

    在前面几章中,我们已经掌握了编写 Playwright 测试脚本的主要技能。但是,光会编写测试脚本还不够,我们还需要考虑: 1. 如何管理和维护大量的测试脚本? 2. 如何复用测试逻辑避免重复开发?...本章我们将学习如何封装 Playwright 测试以及部署测试用例,来完善测试开发的最后一环。 Playwright 测试封装 为了便于管理和维护测试脚本,我们需要对测试进行封装和模块化设计。...通过良好的封装,我们可以编写出可维护的测试脚本,实现测试逻辑的复用,方便后续修改和扩展 测试部署 有了大量的测试用例,我们需要一种方式来定期自动执行这些测试并生成报告。这就是测试部署要解决的问题。...通过部署,我们的测试可以全自动执行和报告生成,开发者无需手动运行测试,大大提高了测试效率。这是实现持续集成和持续交付必不可少的一步。...总结 通过本章的学习,我们掌握了如何对 Playwright 测试进行封装和部署。封装可以实现测试逻辑的复用和脚本的可维护,部署可以实现定期自动执行测试和报告生成。

    1.1K60

    进化算法求解约束优化问题研究进展

    在测试函数方面,2001 年,Deb et al [52] 提 出了一套约束多目标优化测试函数,简称为 CTP1- CTP7。这套测试函数已成为里程碑工作,极大地 促进了约束多目标优化的发展。...2008 年,Zhang et al [53] 提出了一套新的测试函数。此外,文 献 [54-55] 对 CTP 系列测试函数进行了改进。但 是这些测试函数都存在可行域比例较大的问题。...因 此,如何设计能够体现约束多目标优化问题多面特 征的测试函数是目前面临的一个基本问题。...在测试函数方面,2012 年,Nguyen et al[59] 构造了一套测试函数集。然而,该测试函数集仅包 含 2 个决策变量,在可扩展性方面存在一定的缺陷。...很明显,常规 的约束优化测试集并不能有效反映实际昂贵约束优 化问题的特征。所以,收集实际的昂贵约束优化问 题,或者设计新的测试函数集是这个领域需要解决 的首要问题。

    2.9K51

    Go 单元测试基本介绍

    单元测试(Unit Tests, UT) 是一个优秀项目不可或缺的一部分,是对软件中的最小可测试部分进行检查和验证。在面向对象编程中,最小测试单元通常是一个方法或函数。...1.2 如何写好单元测试 首先,学会写测试用例。比如如何测试单个函数/方法;比如如何做基准测试;比如如何写出简洁精炼的测试代码;再比如遇到数据库访问等的方法调用时,如何 mock。...然后,写可测试的代码。高内聚,低耦合是软件工程的原则,同样,对测试而言,函数/方法写法不同,测试难度也是不一样的。职责单一,参数类型简单,与其他函数耦合度低的函数往往更容易测试。...我们经常会说,“这种代码没法测试”,这种时候,就得思考函数的写法可不可以改得更好一些。为了代码可测试而重构是值得的。 1.3 单元测试的优点 单元测试讲究的是快速测试、快速修复。...五、testify/assert 断言工具包 5.1 介绍 testify/assert 是一个流行的Go语言断言库,它提供了一组丰富的断言函数,用于简化测试代码的编写。

    19510

    Go 笔记之如何测试你的 Go 代码

    不论是开源项目,还是日常程序的开发,测试都是必不可少的一个环节。今天我们开始进入 Go 测试模块 testing 的介绍。 差不多两周没有更新 Go 文章了,最近状态不是太好。...method (*T) Helper() // 标记测试函数可并行执行,这个并行执行仅仅指的是与其他测试函数并行,相同测试不会并行。...接下来的目标就是实现一个通用 Division 测试函数。直接看代码吧!...我想到的几点,如下: 执行 package 下所有测试函数,go test 默认就是如此,不用多说; 执行其中的某一个测试函数,比如当我们把前面写的所有测试函数都放在了 math_test.go 文件中...,如何选择其中一个执行; 按某一类匹配规则执行测试函数,比如执行名称满足以 Division 开头的测试函数; 执行项目下的所有测试函数,一个项目通常不止一个包,如何要将所有包的测试函数都执行一遍,该如何做呢

    58920

    如何避免自己写的代码成为别人眼中的一坨屎

    一、注释 不要给不好的名字加注释,一个好的名字比好的注释更重要; 不要“拐杖注释”,好代码 > 坏代码 + 好注释; 在文件/类级别使用全局注释来解释所有部分如何工作; 一定要给常量加注释; 团队统一定义标记...,尽可能少设计临界区; 六、单元测试 不要怕单元测试的方法名字太长或者繁琐,测试函数的名称就像注释; 不要追求太高的测试覆盖率,测试代码前面90%通常比后面10%花的时间少; 使用最简单的并且能够完整运用代码的测试输入...;; 给测试函数取一个完整性的描述性名字,比如 Test _; 测试代码与生产代码一样重要; 如果测试代码不能保证整洁,你就会很快失去他们; 每个测试一个断言,单个测试中断言数量应该最小化也就是一个断言...; FIRST原则: 快速 Fast; 独立 Independent 测试应该相互独立; 可重复 Repeatable 测试应当在任何环境中重复通过; 自足验证 Self-Validating  测试应该有布尔值输出...; 简单设计: 运行所有测试; 不可重复; 表达了程序员的意图; 尽可能减少类和方法的数量; 以上规则按重要程度排列; 无论是设计系统或者单独模块,别忘了使用大概可工作的最简单方案; 整洁的代码只提供一种而非多种做一件事的途径

    7492118

    Go语言学习18-基准测试

    “t”的默认值是1s运行针对代码包 cnet/ctcp 运行基准测试的截图如下:结构体类型 testing.B 的字段 N 可以被用来设置对基准测试函数中的某一个代码块的重复执行次数。...上面只是展示了基准测试的运行记录,同样这边也调用了 7 次功能测试函数 TestPrimeFuncs 。...与并发处理有关的标记标记名称 使用示例 说明 -parallel-parallel 4功能:设置可并发执行的功能测试函数的最大数量 默认值:调用runtime.GOMAXPROCS(0)后的结果...如果使用 go test 命令启动了多个代码包的测试,那么每个代码包中的功能测试永远是可并发执行的,而基准测试永远是串行执行的。...但无论如何,打印测试记录和结果信息的动作是严格按照 go test 命令后面的代码包从左往右的顺序执行。结语本篇介绍了Go语言的基准测试的相关内容,下一篇讲解Go语言的样本测试,敬请期待!!!

    19721

    如何避免自己写的代码成为别人眼中的一坨屎!

    普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。如何写出优雅整洁易懂的代码是一门学问,也是软件工程实践里重要的一环。...笔者推荐三本经典的书籍《代码整洁之道 》、《编写可读代码的艺术》、《重构:改善既有代码的设计》,下文重点将从注释、命名、方法、异常、单元测试等多个方面总结了一些代码整洁最佳实践,大部分是笔者总结于以上三本书中的精华...,尽可能少设计临界区; 六、单元测试 不要怕单元测试的方法名字太长或者繁琐,测试函数的名称就像注释; 不要追求太高的测试覆盖率,测试代码前面90%通常比后面10%花的时间少; 使用最简单的并且能够完整运用代码的测试输入...;; 给测试函数取一个完整性的描述性名字,比如 Test _; 测试代码与生产代码一样重要; 如果测试代码不能保证整洁,你就会很快失去他们; 每个测试一个断言,单个测试中断言数量应该最小化也就是一个断言...API,保持对他们的熟悉程度; 简单设计: 运行所有测试; 不可重复; 表达了程序员的意图; 尽可能减少类和方法的数量; 以上规则按重要程度排列; 无论是设计系统或者单独模块,别忘了使用大概可工作的最简单方案

    64370

    如何避免自己写的代码成为别人眼中的一坨屎!

    普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。如何写出优雅整洁易懂的代码是一门学问,也是软件工程实践里重要的一环。...笔者推荐三本经典的书籍《代码整洁之道 》、《编写可读代码的艺术》、《重构:改善既有代码的设计》,下文重点将从注释、命名、方法、异常、单元测试等多个方面总结了一些代码整洁最佳实践,大部分是笔者总结于以上三本书中的精华...,尽可能少设计临界区; 六、单元测试 不要怕单元测试的方法名字太长或者繁琐,测试函数的名称就像注释; 不要追求太高的测试覆盖率,测试代码前面90%通常比后面10%花的时间少; 使用最简单的并且能够完整运用代码的测试输入...;; 给测试函数取一个完整性的描述性名字,比如 Test _; 测试代码与生产代码一样重要; 如果测试代码不能保证整洁,你就会很快失去他们; 每个测试一个断言,单个测试中断言数量应该最小化也就是一个断言...API,保持对他们的熟悉程度; 简单设计: 运行所有测试; 不可重复; 表达了程序员的意图; 尽可能减少类和方法的数量; 以上规则按重要程度排列; 无论是设计系统或者单独模块,别忘了使用大概可工作的最简单方案

    53620

    《一头扎进》系列之Python+Selenium自动化测试框架实战篇6 - 价值好几K的框架,呦!这个框架还真牛叉哦!!!

    在unittest下有一个管理测试套件的叫TestSuit(),我们要使用这个测试套件,需要先初始化一个suite实例,然后这个实例有一个addTest()的方法,可以加载不同类里面的不同测试函数,格式这样的...addTest(测试类的类名(‘测试函数名称,就是test开头的函数’)),我们在testsuites这个包下新建一个TestRunner.py文件用来管理我们的用例启动方式。...还是利用前面一篇文章中的测试脚本,来看看TestRunner.py如何写。 3.1 代码实现: ?...缺陷: makeSuite()方法虽然比前面文章的addTest()方法有了一定的效率提升,在添加测试用例到测试套件过程。但是这个方法也有很多缺点,我不可能把所有项目脚本都放一个测试类文件吧。...4. discover()方法   继续接着介绍,如何利用unittest管理和执行测试用例的问题,这里我们还是利用之前已经有的三条测试用例,如果你跳过了前面文章,请回到框架设计篇的第八篇和第七篇,里面有相关测试类的文件

    95120

    听GPT 讲Rust源代码--libraryalloc

    linked_list.rs文件中定义了一个包含多个基准测试函数的模块。基准测试的目的是通过模拟实际场景中的工作负载,来度量和比较不同代码实现(尤其是数据结构实现)的性能。...在每个测试函数内部,会通过使用bencher::black_box函数将涉及到的数据标记为不可优化,以确保编译器不会优化测试代码,从而更准确地测量性能。...基准测试是一种用于测量代码性能的方法,通过执行一系列操作并测量其耗时来评估代码的效率。 在str.rs文件中,首先引入了必要的依赖项和测试框架。然后,它定义了一个具有几个基准测试函数的模块。...在该文件中,首先定义了测试环境的初始化和清理操作。然后,定义了多个测试函数,每个测试函数都对B树的不同操作进行性能测试。...这种方式可以在代码中实现高效的元素提取和过滤,同时保持对Vec的所有权或借用,使得代码更加可读、简洁和可维护。

    13210

    .NET单元测试的艺术-1.入门

    本篇作为入门,介绍了单元测试的基础知识,例如:如何使用一个测试框架,基本的自动化测试属性等等,还有对应的三种测试类型。相信你可以对编写单元测试从一无所知到及格水平,这也是原书作者的目标。...单元测试容易编写,能够快速运行。单元测试可靠、可读,并且可维护。   只要产品代码不发生变化,单元测试的结果是稳定的。 1.2 与集成测试的区别 ?...三、第一个单元测试 3.1 NUnit 单元测试框架   NUnit 是从流行的Java单元测试框架JUnit直接移植过来的,之后NUnit在设计和可用性上做了极大地改进,和JUnit有了很大的区别,给日新月异的测试框架生态系统注入了新的活力...首先,我们要明确如何编写测试代码,一般来说,一个单元测试通常包含三个行为: ?   ...五、小结   这一篇作为入门,带领大家领略了一下单元测试的概念,如何编写单元测试,如何在VS中应用NUnit进行单元测试。相信大家以前都用过MSTest,而我们这里却使用了NUnit。

    2.1K20

    如何避免自己写的代码成为别人眼中的一坨屎!

    如何写出优雅整洁易懂的代码是一门学问,也是软件工程实践里重要的一环。...笔者推荐三本经典的书籍《代码整洁之道 》、《编写可读代码的艺术》、《重构:改善既有代码的设计》,下文重点将从注释、命名、方法、异常、单元测试等多个方面总结了一些代码整洁最佳实践,大部分是笔者总结于以上三本书中的精华...,尽可能少设计临界区; 六、单元测试 不要怕单元测试的方法名字太长或者繁琐,测试函数的名称就像注释; 不要追求太高的测试覆盖率,测试代码前面90%通常比后面10%花的时间少; 使用最简单的并且能够完整运用代码的测试输入...;; 给测试函数取一个完整性的描述性名字,比如 Test _; 测试代码与生产代码一样重要; 如果测试代码不能保证整洁,你就会很快失去他们; 每个测试一个断言,单个测试中断言数量应该最小化也就是一个断言...API,保持对他们的熟悉程度; 简单设计: 运行所有测试; 不可重复; 表达了程序员的意图; 尽可能减少类和方法的数量; 以上规则按重要程度排列; 无论是设计系统或者单独模块,别忘了使用大概可工作的最简单方案

    72710

    测试驱动开发与 golang 单元测试

    引言 在现代程序设计中,测试显得越来越重要,未经测试就在线上供用户使用其后果很可能是灾难性的。 2....优点 提升工程质量 — 丰富的测试用例让开发者的开发更加专注,能够做到有的放矢,从而减轻压力与程序设计过程中的不可控因素 提升开发效率 — 敏捷开发变得可行 更容易重构 — 完整的测试用例十分便于回归测试...,避免问题的扩散,降低不可控性。...只要在项目文件中写入下面的方法: func TestXxx(*testing.T) { // 测试函数体 } 然后执行: go test . 就可以看到编译、运行后的测试结果了。 4.1....子测试 掌握了上面的内容,你就可以为你的代码编写合适的测试用例了。 但是,有的时候你想要像函数调用一样嵌套多个单元测试,或者想在若干个测试开始前或结束后做一些事情,这在 go 语言中有着很好的支持。

    97510
    领券