首页
学习
活动
专区
工具
TVP
发布

代码组件 | 我代码没有else

嗯,我代码没有else系列,一个设计模式业务真实使用golang系列。 ? 前言 本系列主要分享,如何在我们真实业务场景中使用设计模式。...复用:不同业务场景,相同组件可被重复使用。 什么真实业务场景可以用「组合模式」?...代码demo升级「并发组件」 高度独立、不存在数据互相依赖组件,业务流程并发执行。 结语 最后总结下,「组合模式」抽象过程核心是: 按模块划分:业务逻辑归类,收敛过程。...我代码没有`else`,只是一个在代码合理设计情况下自然而然无限接近或者达到结果,并不是一个硬性目标,务必较真。 2....---- 我代码没有else系列 更多文章 代码模板 | 我代码没有else 链式调用 | 我代码没有else 点击https://github.com/TIGERB/easy-tips/tree

1.1K10

代码模板 | 我代码没有else

嗯,我代码没有else系列,一个设计模式业务真实使用golang系列。 ? 前言 本系列主要分享,如何在我们真实业务场景中使用设计模式。...关于怎么用,完全可以生搬硬套我总结使用设计模式四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 我通过历史上接触过各种抽奖场景(红包雨、糖果雨、打地鼠、大转盘(九宫格)、考眼力、...------------ //我代码没有`else`系列 //模板模式 //@auhtor TIGERB //------------------...//------------------------------------------------------------ //我代码没有`else`系列 //模板模式 //@auhtor TIGERB...我代码没有`else`,只是一个在代码合理设计情况下自然而然无限接近或者达到结果,并不是一个硬性目标,务必较真。 2.

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

代码质量--重用代码

重用代码指:在相似业务场景下,用是同一份代码重用代码可以减少重复劳动。一个软件中,会有很多类似的业务场景。将这些场景抽象成重用代码。开发新功能时,重用代码减少重复劳动。...如果做成重用,则只需改动一处。 一、如何写出重用代码 代码职责越多,越难被复用。写出重用代码就是:识别,分离出复用部分。...要改成复用代码,就是将可复用UI,获取接口数据代码独立出来。 下面,我们来看些常见复用部分和复用方法。 (一)UI展示 UI展示为外观展示,包含:HTML和CSS。...(四)工具函数 工具函数是与业务无关。如:格式化日期,生成唯一id等。Lodash和 moment.js包含了很多工具方法。 二、总结 要写出重用代码,本质就是识别和分离出复用部分。...前端可以从UI展示,接口调用,业务流程,数据,工具函数中找出复用部分。 代码质量下一层次就是:重构代码。我会在下一篇文章中介绍。

12230

如何编写没有bug代码

因为它有若干缺点: 会导致你复制到糟糕设计决策或易受其他人攻击代码 会形成一种依赖心态:要是我们不能google到内容,那么只能向人求助了 没有网就不能工作 但是,我不认为这些是大问题。...关于“学习如何编写没有bug代码魔法书是不存在。因为所有软件都有bug——除了这个框架之外。遇到bug我们就应该处理掉。 关键要点是:每个人编写代码都不应该带有明显错误。...有些工具在你代码库上运行一些复杂启发式算法来检测不同问题,比如这个代码行内有太多逻辑,这个类是不需要,这个函数太复杂了; 审查你代码。在合并为master之前对其进行审查。...05 应用程序部署后,我仍然不自信 终于,我应用程序已经进入了产品阶段。它可以工作了。我可以休息休息,应该不会出什么问题了。等等,不!一切都崩溃了。是的,我没有说错:一切。...如果我们想编写出好软件,那么我们需要不断地学习怎么做。没有捷径也没有魔法。每天进步一点点,就会越来越好。 总之,我们需要理解两件基本事情: 每个人都会遇到问题。

84310

SOLID 原则:编写扩展且维护代码

,你写是 “糟糕代码” ?...如果你写过,其实也没什么好羞愧。在学习过程中,我们都会编写有缺陷代码。但是好消息是对于 “糟糕代码” 进行改进是相当简单,但前提是你愿意改。 改进代码最佳方法之一是学习一些编程设计原则。...它违反了职责分离原则,并使代码灵活性和扩展性降低。让我们看一下解决这个问题一种方法。...根据里氏替换原则,Vehicle 任何子类也应该能够毫无问题地启动发动机。 但是,如果我们添加了 Bicycle(自行车)类。显然我们将无法再启动发动机,因为自行车没有发动机。...也就是说,高层模块不应该依赖于低层模块,而应该依赖于它们共同抽象。 通过遵循这些原则,我们可以编写出更加清晰、灵活和复用代码,降低耦合度和代码腐化风险,提高代码测试性和可读性。

15220

编写测试JavaScript代码

B.代码是让人用 1.我们编写代码不是让电脑用,而是让人用 2.为何要编写测试代码 测试代码更加容易测试,意味着它更加容易维护,易维护则意味着它有让人(包括自己)更加容易理解 ,更加容易维护...,从而又使得测试变得更加容易 3.如果没有测试维护以及可理解代码,那它就是垃圾 4.什么是测试代码 什么是测试:短小但也不太复杂代码、完整注释,以及检耦合。...什么是维护:可以存在于一个完整产品周期:产品从一个人转到另外一个人手里时,不需要部分或全部重写 什么是可理解:简单、小型且有注释代码更加容易理解 5.如何编写测试代码:编写短小、最小依赖和最低复杂度隔离代码块...没有任何修饰符,所有的内容都是私有的,与“外部”世界唯一沟通就是通过基于事件API。...C.测试基于事件架构 1.基于事件架构本质:注册事件监听,并且没有(或很少)对象被实例化 D.基于事件架构说明 1.伸缩性:事件集线器创造了超级单一故障点,如果集线器出现了故障,应该程序就宕机了

1.3K30

编写测试JavaScript代码

编写测试JavaScript代码 既然要对代码进行测试,那么为什么不让这一过程变得尽可能简单和轻松呢?JavaScript客户端代码测试之所以尤其困难,是因为我们几乎无法控制代码运行环境。...此外,Node.js异步特性也使得测试变得更加复杂。有趣是,这样一种与异步执行密切相关语言,竟然没有设置与该执行模式相配内置支持。...我比较推崇Michael Feathers在他优秀作品Working Effectively with Legacy Code(Prentice Hall出版社)中定义:遗留代码没有测试过代码,...再次接触遗留代码时,就是要重写它了。看一下当前项目,任何没有被测试代码都有可能会被重写。 重写的人可能不是原作者,而是负责处理这个任务(增强代码或修补漏洞)的人。...除非这些代码经过测试,否则它们就是必须要重写无用代码。这段代码可能很惊人,但它唯一能存活方法就是永远不会产生Bug,并且没有人要求对它进行增强或者添加新特性。

39800

代码编辑

代码在文章最后 一,内存管理 用到再分配内存,不负责回收内存。主要是利用硬件异常中断程序。下面是具体步骤: 1,分配一块内存。内存属性是禁止读写。 2,设置异常中断程序。...程序内容就是当产生异常原因读写【禁止读写内存】时,执行分配对应地址内存,然后继续运行。分配内存应该考虑可能失败。 二,操作管理 包括 操作撤销 和 操作恢复 。...我这里块内容是从上一个组指针读写(前提是存在上一组指针。实际肯定是存在。因为收缩块和展开块也是一种操作,也产生一组指针和N行数据) 块实际内容就是读取函数参数。这样来很明显省内存。...这里没有收缩全部块功能【太复杂了,我没弄】。我个人觉得【收缩全部函数块】够用了。主要判断依据是块前一个有效字符是不是‘)’。注意过滤块中块,意思是函数块中块不再考虑。 2,块全部展开。...这个简单,读取所有块内容,再产生N行数据和一组指针。 3,双击块展开。 4,双击块收缩。 四,查找 是查找所有内容,有块的话,先读出块转为文本再查找。

7.1K50

链式调用 | 我代码没有else

嗯,我代码没有else系列,一个设计模式业务真实使用golang系列。 ? 前言 本系列主要分享,如何在我们真实业务场景中使用设计模式。...以下是责任链模式(改)具体优势: 直观:一眼可观业务调用过程 无限扩展:可无限扩展业务逻辑 高度封装:复杂业务代码依然高度封装 极易被修改:复杂业务代码下修改代码只需要专注对应业务类(结构体)文件即可...代码demo package main //--------------- //我代码没有`else`系列 //责任链模式 //@auhtor TIGERB<https://github.com/...我代码没有`else`,只是一个在代码合理设计情况下自然而然无限接近或者达到结果,并不是一个硬性目标,务必较真。 2....---- 我代码没有else系列 更多文章 代码模板 | 我代码没有else 点击https://github.com/TIGERB/easy-tips/tree/master/go/src/patterns

1.6K40

后疫情办公时代——你需要多人同步协同编辑Demo(粘贴撤销)

首先,纯前端表格默认会将所有的用户UI操作封装成命令去执行(内置命令),而我们通常代码设置并没有通过命令来执行。...这样就可以用来区分一个操作到底是用户UI操作(最终用户使用时操作),还是代码逻辑进行操作(程序员通过写代码完成,即程序内部运行逻辑)。...而用户在表格上修改任何操作均可以被撤销,撤销同时不会影响之前代码设置这部分内容。...命令对于在线协同应用: 命令机制我们可以分清操作到底是代码执行还是用户UI去操作,而在线协同场景中需要同步内容就是用户UI相关操作。...mod=attachment&aid=ODY2MjZ8OTBlY2E0NWF8MTY3MTc5MzE5Mnw2MjY3Nnw3NTM0Nw%3D%3D 粘贴柯撤销多人协同 那最原始通过命令方式为什么无法将粘贴命令同步呢

68830

代码质量第 2 层 - 重用代码

重用代码指:在相似业务场景下,用是同一份代码重用代码可以减少重复劳动。一个软件中,会有很多类似的业务场景。将这些场景抽象成重用代码。开发新功能时,重用代码减少重复劳动。...重用代码可以减少因需求变动,导致多次改动和漏改情况。试想,要修改全站提交按钮颜色,如果全站有100个包含提交按钮页面,每个页面的按钮样式都没复用,这改动量和漏改风险都很大。...如果做成重用,则只需改动一处。 如何写出重用代码 代码职责越多,越难被复用。写出重用代码就是:识别,分离出复用部分。 考虑这样场景:代码块A 功能是获取接口数据,并渲染 UI。...工具函数 工具函数是与业务无关。如:格式化日期,生成唯一 id 等。Lodash 和 moment.js 包含了很多工具方法。 总结 要写出重用代码,本质就是识别和分离出复用部分。...前端可以从 UI 展示,接口调用,业务流程,数据,工具函数 中找出复用部分。 代码质量下一层次就是:重构代码。我会在下一篇文章中介绍。

88020

代码质量第 2 层 - 重用代码

3金伟强---(+云荐大咖).jpg重用代码指:在相似业务场景下,用是同一份代码重用代码可以减少重复劳动。一个软件中,会有很多类似的业务场景。将这些场景抽象成重用代码。...开发新功能时,重用代码减少重复劳动。 重用代码可以减少因需求变动,导致多次改动和漏改情况。...代码职责越多,越难被复用。写出重用代码就是:识别,分离出复用部分。 考虑这样场景:代码块A 功能是获取接口数据,并渲染 UI。代码块B UI 和 A 一样,但获取接口数据不一样。...代码块C 获取数据和 A 一样,但 UI 和 A 不一样。A,B,C 之间代码都不能被复用。 要改成复用代码,就是将可复用 UI,获取接口数据代码独立出来。...前端可以从 UI 展示,接口调用,业务流程,数据,工具函数 中找出复用部分。 代码质量下一层次就是:重构代码。我会在下一篇文章中介绍。

3.5K102

代码在线编辑工具_php代码编辑器安卓版

大家好,又见面了,我是你们朋友全栈君。 在线代码编辑器 在线编辑各种文本形式代码,如js,html,php等,要支持语法高亮,即时输入即时高亮。...我初步想法是用一个 来实现,就是类似于常见在线网页编辑器,但是因为仅仅是需要代码编辑,所以,要控制只能输入文本,不能让用户插入图片啊链接啊等等东西...Bespin是一个用Canvas实现在线代码编辑器,所以不支持IE,而且,因为是Canvas模拟编辑,效率很低,反应迟钝。...codepress js干这活效率上差很多,由于这个原因实际项目中没有采用js,还是用ActiveX 看了你文章。...很赞在线代码编辑器,支持多种语言彩色语法编辑,罕见精品 http://blog.csdn.net/cuixiping/archive/2009/10/16/4678840.aspx 网址

2.4K10

维护代码有感

维护代码数量指标跟代码可维护性密切相关,项目代码可维护性不仅仅对自己,更多还是对其他陌生人(其中包括对自己代码已经陌生自己)。当我们编写软件代码时,一个重要目标是让代码易于维护。...测性 代码测性(testability)是指代码易测性、测性,是指在设计和编写应用程序时,将测试考虑在内,使得程序更易于测试和测试效率更高。...拓展性 代码拓展性是指代码能够在未来增加新功能、应对需求变化、适应新技术和平台等要求时,能够快速而又有效地进行修改和扩展能力。...在当今软件开发行业中,代码拓展性已经成为了一个非常重要需求和评估标准。具有良好拓展性代码可以更容易地满足用户需求,同时也可以大大减少业务需求变化对代码影响,减少维护成本和开发周期。...此外,一旦建立具有良好拓展性代码结构,其设计和代码都可以轻松地重复利用,从而减少重复编写代码风险和成本,增加稳定开发基础。具备良好拓展性代码也可以提高其可维护性。

15120

代码质量第2层-重用代码

重用代码指:在相似业务场景下,用是同一份代码重用代码可以减少重复劳动。一个软件中,会有很多类似的业务场景。将这些场景抽象成重用代码。开发新功能时,重用代码减少重复劳动。...如果做成重用,则只需改动一处。 一、如何写出重用代码 代码职责越多,越难被复用。写出重用代码就是:识别,分离出复用部分。...要改成复用代码,就是将可复用UI,获取接口数据代码独立出来。 下面,我们来看些常见复用部分和复用方法。 (一)UI展示 UI展示为外观展示,包含:HTML和CSS。...(四)工具函数 工具函数是与业务无关。如:格式化日期,生成唯一id等。Lodash和 moment.js包含了很多工具方法。 二、总结 要写出重用代码,本质就是识别和分离出复用部分。...前端可以从UI展示,接口调用,业务流程,数据,工具函数中找出复用部分。 代码质量下一层次就是:重构代码。我会在下一篇文章中介绍。  推荐阅读 代码质量第3层-可读代码

77120

代码质量第 1 层 - 重构代码

重构代码指:可以放心代码,不用担心因为改代码而导致 bug。重构代码是对代码质量最高要求,也是最难达到重构代码是易于维护。...如何写出重构代码 写出重构代码要做 3 件事: 隔离副作用。 使用静态类型。 写测试。 隔离副作用是写出重构代码基础。使用静态类型是对过程检查。写测试是对结果检查。 下面具体来说。...代码修改后,只要测试用例能跑通过,则保证了代码改动没有破坏之前功能。 测试是分层。对前端来说,测试包括三层: 单元测试(Unit Tests)。 接口测试(Service Tests)。...我们写测试场景优先考虑:业务流程不频繁改动核心场景。 总结 重构代码可以被放心修改。要写出重构代码需要: 隔离副作用。 使用静态类型。 写测试。...2 层 - 重用代码

69310

SpringBoot + Vue 实现拖拽编辑大屏开源项目

1、简介 该大屏设计是一个可视化拖拽编辑全开源项目,直观,酷炫,具有科技感图表工具。内置基础功能包括数据源,数据集,报表管理。...webpack:用于现代 JavaScript 应用程序_静态模块打包工具 ES6:Javascript新版本,ECMAScript6简称。...利用ES6我们可以简化我们JS代码,同时利用其提供强大功能来快速实现JS逻辑。 vue-cli:Vue脚手架工具,用于自动生成Vue项目的目录及文件。...flyway5.2.1 : 主要用于在你应用版本不断升级同时,升级你数据库结构和里面的数据。...3、数据流程图 4、部分截图 拖拽编辑 日志大屏 5、最后 最后,防止找不到本篇文章,可以收藏点赞,方便翻阅查找。 还等什么呢?赶快来试试吧!项目源码和更详细安装部署文档已经放到了云盘!

2.8K40
领券