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

如何写出优雅的 JS 代码?使用 SOLID 原则

也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。 通过增加代码来扩展功能,而不是修改已经存在的代码。...若客户模块和服务模块遵循同一个接口来设计,则客户模块可以不关心服务模块的类型,服务模块可以方便扩展服务(代码)。 OCP支持替换的服务,而不用修改客户模块。 说大白话就是:你不是要变化吗?...客户模块不应关心服务模块的是如何工作的;同样的接口模块之间,可以在不知道服务模块代码的情况下,进行替换。即接口或父类出现的地方,实现接口的类或子类可以代入。...依赖注入是该原则的一种实现方式。 依赖倒置原则(Dependency Inversion Principle,DIP)规定:代码应当取决于抽象概念,而不是具体实现。...代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。

2K20

让你的 JS 代码变得更加优雅且可维护

这种写法写出来的代码晦涩难懂,难以维护,隐藏 BUG 多,除非你准备给接手的人埋坑,或者准备辞职,不然千万别这么写(容易被打断腿,?‍? ) 那么怎么写才更优雅? 语义化 首先便是语义化。...枚举 对于上面判断 userRole 的代码,其实我们可以用更优雅的方式去实现,那就是 枚举 。...更在状态 除了上面的方式之外,我们还可以利用“ 状态 ”的概念来写代码。在看代码之前,我们先了解下什么是 “有限状态机”。...不同的状态展示的 UI 也不同,所以我们以不同的状态划分好模块之后,代码写起来就会清晰很多,我们以 Vue 代码为例: // contants.js export const ORDER_STATUS...,以提高程序代码的模块化程度。

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

    如何写出优雅的 JS 代码,变量和函数的正确写法

    在开发中,变量名,函数名一般要做到清晰明了,尽量做到看名字就能让人知道你的意图,所以变量和函数命名是挺重要,今天来看看如果较优雅的方式给变量和函数命名。...让你的变量名可被读取,像 buddy.js 和 ESLint 这样的工具可以帮助识别未命名的常量。 // 不好的写法 // 86400000 的用途是什么?...删除重复的代码 尽量避免重复的代码,重复的代码是不好的,它意味着如果我们需要更改某些逻辑,要改很多地方。...通常,有重复的代码,是因为有两个或多个稍有不同的事物,它们有很多共同点,但是它们之间的差异迫使我们编写两个或多个独立的函数来完成许多相同的事情。...让我们考虑一个示例:如果想扩展 JS 的原生Array方法以具有可以显示两个数组之间差异的diff方法,该怎么办?

    3.8K30

    10个简单的技巧让你的 vue.js 代码更优雅

    前言 作为深度代码洁癖,我们都希望能写出简单高效的代码,让我们的代码看起来更加优雅,让我们抛弃繁杂的代码,一起开启简单的旅程~~ 01、slots 新语法向 3.0 看齐 使用带有“#”的新命名插槽缩写语法... 05、响应式数据(2.6.0新增) 我们习惯于用Vuex去解决状态的共享问题,但是在小项目中使用就会有增大代码体积和将代码复杂化的烦恼,所以在后来的版本中Vue新增...button v-if="status === 4" class="btn4" :class="status === 4" @click="">已领取 但是如果我们利用渲染函数可以将上面的代码抽取成优雅的使用组件...child :status="status"> js...,componentList:['ColorIn','LineIn','Header','Footer']使用下面的代码即可将代码依次循环 <component v-for="(item,index)

    79520

    3 个简单的技巧让你的 vue.js 代码更优雅!

    故借此专栏提几点关于Vue代码可读性的建议,觉得有用的点个赞,觉得建议不合理的发表评论批评一下,有更好的建议欢迎发表评论补充一下。...一、善用组件让代码更有条理性 千万不要把一个页面的实现代码都梭哈在一个.vue文件中,除非这个页面非常简单,不然这个.vue文件中的代码会又长又臭。...将UI组件提取出来后,可以把UI交互的代码和业务交互的代码剥离开来。切记不能UI组件中写业务代码,这样UI组件将无法复用。...$confirm = ConfirmInit; //main.js import 'components/confirm/index.js';//全局注册二次确认弹窗confirm组件 1.2、按模块提取业务组件...,随着需求的变化导致业务场景的叠加,组件的代码中会添加各种判断逻辑,久而久之变得又长又臭,显然这种做法是不可去。

    85420

    10个简单的技巧让你的 vue.js 代码更优雅

    前言 作为深度代码洁癖,我们都希望能写出简单高效的代码,让我们的代码看起来更加优雅,让我们抛弃繁杂的代码,一起开启简单的旅程~~ 01、slots 新语法向 3.0 看齐 使用带有“#”的新命名插槽缩写语法... 05、响应式数据(2.6.0新增) 我们习惯于用Vuex去解决状态的共享问题,但是在小项目中使用就会有增大代码体积和将代码复杂化的烦恼,所以在后来的版本中Vue新增...button v-if="status === 4" class="btn4" :class="status === 4" @click="">已领取 但是如果我们利用渲染函数可以将上面的代码抽取成优雅的使用组件...child :status="status"> js...,componentList:['ColorIn','LineIn','Header','Footer']使用下面的代码即可将代码依次循环 <component v-for="(item,index)

    1.1K11

    如何优雅的合并代码

    IDEA中的代码合并合并代码我相信大家都会,但要是一手merge走天下,遇到高手可就要趴下啦!现代的IDE图形化界面做的很好,git的很多功能原理可以不用了解的那么深刻,只是操作看看就会啦。...,本次推送会失败)mergemerge 是代码合并最简单的方式,所有代码合并的情况都可以使用 merge 。...合并默认使用的是 fast-foward 模式,如下图所示,当合并两个分支时,若顺着一个分支走下去能到达另一个分支,git 只会移动分支指针,也就是说,不会创建新的 commit 节点。...但是这样会丢失合并的信息 ,若想要在任何时候都保留合并信息,可以使用 no-fast-forward 选项。...:想要应用父分支的提交到自己的分支cherry-pick当发现自己的提交写错分支,或者想要快速将另一个分支的某个提交合并到自己的分支,可以考虑使用 cherry-pick。

    19410

    如何优雅的写好Pythonic代码?

    Python 与其它语言(比如Java或者C++)相比有比较大的区别,其中最大的特点就是非常简洁。如果按照其它语言的思路来写Python代码,则会使得代码繁琐复杂,并且容易出现Bug。...有的同学可能不明白这个词的意义,小编的理解就是用Python的写法写代码,而非是其它语言的通用的写法,写出Python的特点,写出Python的风格。...下面,就通过几个示例来看一下不同思维的Python代码的差异。 1、变量值交换 这个问题最常见,大家从最开始写Java及C++等语言代码都会遇到这个问题。...然而,由于像字符串这种不可变对象在内存中生成后无法修改,合并后的字符串会重新开辟出一块内存空间来存储。因此每合并一次就会单独开辟一块内存空间,这样会占用大量的内存空间,严重影响代码的效率。...而Python中的通过for...else...会使得代码很简洁,注意else中的代码块仅仅是在for循环中没有执行break语句的时候执行: cities = ['BeiJing', 'TianJin

    1.1K20

    编写优雅代码的最佳实践

    Robert Martin曾说过"在代码阅读中说脏话的频率是衡量代码质量额唯一标准"。同时,代码的写法应当使别人理解它所需的时间最小化,也就是说我们写的代码是给人看的而不是给机器看的。...那么,如何编写优雅代码呢?可以从思想层面和具体技巧层面来优化代码,思想层面指的是遵循面向对象设计原则,本期介绍的是具体技巧。 1. 代码总是越短越好吗? assert((!...bucket.isOccupied()); } 减少代码行数是一个好目标,但是让阅读代码的事件最小化是个更好的目标。 2....因此,我们可以用一个更加自我说明的名字,例如: void releaseRegistryHandle(registryKey key); 13.为代码中的瑕疵写注释 // TODO:采用更快算法或者当代码没有完成时...ok);其次处理掉简单的情况,这有利于让if和else处理代码在同一个屏幕内可见。 19. 通过提早返回减少嵌套 使用提前返回的机制,可以把函数的嵌套层级变浅。

    1.6K200

    如何写出优雅的代码?

    所谓优雅,相对应的是坑。只有见过足够多的坑,才会形成自己的编码理念。工程开发,除了要满足业务需求和性能需求之外,还需要保证可维护。...要随时面对人员流动对系统带来的风险,所以我对优雅代码的理解更偏向于易维护。...重构重构应该存在于每一次的开发过程中,完成功能需求,性能需求之后,还需要思考改动后的代码是否优雅,结构是否清晰。很多时候虽然只加了一行代码,但全局维度需要重新调整结构。...最后想说,所谓优雅,相对应的是坑。只有见过足够多的坑,才会形成自己的编码理念。总结自己遇到的坑,找到避免坑的方法,就能保证持续进步。...我认为仅仅编写出可运行的代码是远远不够的,还要时刻注意代码的整洁度,留下一些漂亮的代码,希望写的代码都能保留并运行 102 年!

    49730

    借助 AngularJS 写优雅的代码

    接触 AngularJS 还真有点碰巧,在用 JQuery 写数据绑定的时候,我被数据对象和 DOM 之间的同步整烦了,要写一大堆方法绑定和取值/设值的代码逻辑,丑得要死。...就这个问题,第 1 条对象的变更需要及时刷新到 DOM 上,有好多办法,underscore.js、mustache 之类的,模板+数据绑定嘛,当然,需要手动调用来更新;但是反过来的第 2 条,DOM...值得一提的是,AngularJS 引入的 directive 确实方便扩展了标签集,可以写出 DSL 样子的代码,非常非常灵活,比如: Error occurs....,生写 html 片段模板代码字符串的,用起来确实让我不够舒服。...就我而言,我倾向于把同一模块的代码放置在一起,增加可理解性,而不在乎它的组成是 DOM 声明还是 JavaScript 解释。

    2.8K20

    如何优雅的统计代码耗时

    今天,基基,跟大家分享一下,如何在代码中,统计接口耗时,最优雅,性能最高,接下来我将介绍4种统计方式。 如果你有更好的方式,欢迎文末留言区,交流。...一、前言 代码耗时统计在日常开发中算是一个十分常见的需求,特别是在需要找出代码性能瓶颈时。 可能也是受限于 Java 的语言特性,总觉得代码写起来不够优雅,大量的耗时统计代码,干扰了业务逻辑。...特别是开发功能的时候,有个感受就是刚刚开发完代码很清爽优雅,结果加了一大堆辅助代码后,整个代码就变得臃肿了,自己看着都挺难受。...因此总想着能不能把这块写的更优雅一点,今天本文就尝试探讨下“代码耗时统计”这一块。 在开始正文前,先说下前提,“代码耗时统计”的并不是某个方法的耗时,而是任意代码段之间的耗时。...,利于理解;缺点就是对代码的侵入性较大,看着很傻瓜,不优雅。

    1.1K10

    编写优雅代码的最佳实践

    Robert Martin曾说过"在代码阅读中说脏话的频率是衡量代码质量额唯一标准"。同时,代码的写法应当使别人理解它所需的时间最小化,也就是说我们写的代码是给人看的而不是给机器看的。...那么,如何编写优雅代码呢?可以从思想层面和具体技巧层面来优化代码,思想层面指的是遵循面向对象设计原则,本期介绍的是具体技巧。 1. 代码总是越短越好吗? assert((!...bucket.isOccupied()); } 减少代码行数是一个好目标,但是让阅读代码的事件最小化是个更好的目标。 2....因此,我们可以用一个更加自我说明的名字,例如: void releaseRegistryHandle(registryKey key); 13.为代码中的瑕疵写注释 // TODO:采用更快算法或者当代码没有完成时...ok);其次处理掉简单的情况,这有利于让if和else处理代码在同一个屏幕内可见。 19. 通过提早返回减少嵌套 使用提前返回的机制,可以把函数的嵌套层级变浅。

    42220

    C#代码的艺术:打造优雅代码的秘诀

    本文将带领你探索编写高质量C#代码的最佳实践,帮助你将代码从平凡提升到艺术的层次。 命名的艺术:清晰与简洁的平衡 在编写C#代码时,命名是第一步。一个好的命名能够自我解释,让代码的意图一目了然。...{ // ... } } 简化代码:用更少的代码做更多的事情 简化代码不仅减少了代码量,也降低了出错的可能性。...public void SendEmail(string to, string subject, string body) { // 发送邮件逻辑 } } 异常处理:优雅地处理错误...:提升代码的外观 格式化代码不仅提升了代码的外观,也使得代码更加易于阅读。...通过遵循这些最佳实践,你不仅能够提升代码的质量,也能够提高开发效率和团队协作的顺畅度。记住,整洁的代码是维护软件健康的关键,让我们一起努力,用C#编写出更加优雅、更加健壮的代码吧。

    14110

    编写高效且优雅的 Python 代码(

    本文作为进阶系列的文章,从基础的语法到函数、迭代器、类,还有之后系列的线程 / 进程、第三方库、网络编程等内容,共同学习如何写出更加 Pythonic 的代码 部分提炼自书籍:《Effective Python...块 循环正常结束之后会调用else内的代码 循环里通过break跳出循环,则不会执行else 要遍历的序列为空时,立即执行else for i in range(2): print(i) else...else会在finally之前运行 最终一定会执行finally,可以在其中进行清理工作 函数 使用装饰器 装饰器用于在不改变原函数代码的情况下修改已存在的函数。...:在代码块执行前,先进行准备工作;在代码块执行完成后,做收尾的处理工作。...所以说使用上下文管理器的好处就是,通过调用我们预先设置好的回调,自动帮我们处理代码块开始执行和执行完毕时的工作。

    1.2K30

    如何写出优雅的 Golang 代码

    Go 语言的代码规范可以在 Go Code Review Comments 中找到,它们非常重要但并不是这篇文章想要介绍的重点,我们将从代码结构、最佳实践以及单元测试几个不同的方面介绍如何写出优雅的...写在前面 想要写出好的代码并不是一件容易的事情,它需要我们不断地对现有的代码进行反思 — 如何改写这段代码才能让它变得更加优雅。...,写出更优雅的代码; 为代码和项目的管理提供被社区广泛认同的规则、共识以及最佳实践; 代码规范 代码规范其实是一个老生常态的问题,我们也不能免俗还是要简单介绍一下相关的内容,Go 语言比较常见并且使用广泛的代码规范就是官方提供的...可测试 写代码并不是一件多困难的事情,不过想要在项目中写出可以测试的代码并不容易,而优雅的代码一定是可以测试的,我们在这一节中需要讨论的就是什么样的代码是可以测试的。...作者也一直在努力学习如何写出更加优雅的代码,写出好的代码真的不是一件容易的事情,作者也希望能通过这篇文章帮助使用 Go 语言的工程师写出更有 Golang 风格的项目。

    1.6K30

    基础|如何优雅的编写JavaScript代码

    没错 正如上图 作为一名优秀的码农 应具备 码得出代码, 看得懂自己码的代码, 让别人看得懂你码的代码, 这三个基本素养。...提高自身的编码能力和编写易于阅读和维护的代码,是广大码农们提高开发效率和职业身涯中必做的事情。 那么究竟如何编写出可维护的、优雅的代码呢?...避免使用 JS 糟粕和鸡肋 这些年来,随着 HTML5 和 Node.js 的发展,JavaScript 在各个领域遍地开花,已经从“世界上最被误解的语言”变成了“世界上最流行的语言”。...因此 lint 非常有必要,特别是对于大型项目,他可以保证代码符合一定的风格,有起码的可读性,团队里的其他人可以尽快掌握他人的代码。...我们需要时常和同行们进行代码评审,不断优化自己的代码,不要惧怕改善代码质量所需付出的努力。长此以往,你不会觉得看不懂自己半年前写的代码,还将获得同行的赞许,你的程序之路会走的更远!

    58530

    如何写出优雅的 Golang 代码

    ,想要真正融入生态写出优雅的代码就一定要花一些时间和精力了解语言背后的设计哲学和最佳实践。...写在前面 想要写出好的代码并不是一件容易的事情,它需要我们不断地对现有的代码进行反思 — 如何改写这段代码才能让它变得更加优雅。...,写出更优雅的代码; 为代码和项目的管理提供被社区广泛认同的规则、共识以及最佳实践; 代码规范 代码规范其实是一个老生常态的问题,我们也不能免俗还是要简单介绍一下相关的内容,Go 语言比较常见并且使用广泛的代码规范就是官方提供的...可测试 写代码并不是一件多困难的事情,不过想要在项目中写出可以测试的代码并不容易,而优雅的代码一定是可以测试的,我们在这一节中需要讨论的就是什么样的代码是可以测试的。...作者也一直在努力学习如何写出更加优雅的代码,写出好的代码真的不是一件容易的事情,作者也希望能通过这篇文章帮助使用 Go 语言的工程师写出更有 Golang 风格的项目。

    1.1K30

    如何优雅的编写代码(持续更新......)

    《编写可读代码的艺术》 《代码整洁之道》 1、如何写出优雅的代码 命名规范 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。...代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式,尽量使用完整的英文名,不要嫌弃名字长。...接口类中的方法和属性不要加任何修饰符号(public也不要加),保持代码的简洁性,并加上有效的Javadoc注释。...对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///)来说明注释掉代码的理由。 OOP编程规范 所有的覆写方法,必须加@Override注解。...3)被声明成private只会被自己代码所调用的方法,如果能够确定调用方法的代码传入参数已经做过检查或者肯定不会有问题,此时可以不校验参数。

    82041
    领券