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

编写更好代码

何为”更好代码本身就是仁者见仁,我们在这里主观地选择一个评价标准: 代码要满足安全性 ,可用性 ,可维护性 ,简洁性 , 高性能要求,这几项重要性递减。...毫无疑问编写代码本身是一件很难事,但是在遵循一些指导原则的话,我们可以相对编写更好代码。 命名 有一句不太可考名言是”计算机科学只存在两个难题:缓存失效和命名”。...不是每个程序员都要经常编写用到各种缓存机制代码,但是我们每天都在不断地命名,好命名需要遵从一些规则: 名副其实 我们要选择有意义命名,date比d要好,index比i要好,list1和list2并没有比...l1和l2更容易理解,users和items是更好选择。...使用读出来名称 我曾经工作过一家公司数据库表命名规范是对应中文名称全拼首字母缩写,例如”登录记录”表名称是dljl,这样表是如此得多以至于要有一个文档来维护每个表对应数据信息。

42430

编写更好jQuery代码

现在已经有很多文章讨论jQuery和JavaScript性能问题,然而,在这篇文章中我计划总结一些提升速度技巧和一些我自己建议来改善你jQuery和JavaScript代码。...更好代码意味着更快应用程序,快速渲染和反应性意味着一个更好用户体验。...,一定要查看文档,可能会有一个更好或更快方法来使用它。...// bad $('#outer #inner'); // better $('#inner'); 尽量使用最新版本 新版本通常更好:更轻量级,更高效。显然,你需要考虑你要支持代码兼容性。...能保证选择离用户最近缓存并迅速响应,地址是http://code.jQuery.com/jQuery-latest.min.js 必要时组合jQuery和javascript原生代码 上所述,jQuery

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

    怎样编写更好 JavaScript 代码

    作者:Ryland G 翻译:疯狂技术宅 来源:dev.to ? 我看到没有多少人谈论改进 JavaScript 代码实用方法。以下是我用来编写更好 JS 一些顶级方法。...我不知道 TS 本质上是否能比 JS 更少出现“错误”,不给我强烈认为,迫使开发人员首先定义接口和 API,从而产生更好代码是很有必要。...JS 已经做了很多改变和补充(是的我知道,从技术上说是 ECMAScript),从根本上改变了开发人员体验。作为近两年才开始编写 JS 的人,我优势在于没有偏见或期望。...为了解决回调问题,JS 中增加了一个新概念 “Promise”。Promise 允许你编写异步逻辑,同时避免以前基于回调代码嵌套问题困扰。...因此,用任何语言编写高端代码一个关键就是具有一致和合理风格。由于 JS 生态系统广度,有许多针对 linter 和样式细节选项。

    1.3K30

    如何更好编写async函数

    ,在实例化过程中进行文件读取,当文件读取回调触发式,进行Promise状态变更,resolved或者rejected 状态变更我们使用then来监听,第一个回调为resolve处理,第二个回调为...中值 ,也就是另一个Promise实例。...最后再进行close,因为如果我们上边在执行写入过程还没有完成时,close回调是不会触发, 也就是说,回调触发就意味着上边两步write已经执行完成了。...getUserInfo(uid) } 这样代码运行,会在拿到uid: 1数据后才会去请求uid: 2数据 关于这两种问题解决方案: 目前最优就是将其替换为map结合着Promise.all...总结 总结一下关于async函数编写几个小提示: 使用return Promise.reject()在async函数中抛出异常 让相互之间没有依赖关系异步函数同时执行 不要在循环回调中/for、while

    1.2K10

    如何更好编写async函数

    如何更好编写async函数 2018年已经到了5月份,node4.x版本也已经停止了维护 我司某个服务也已经切到了8.x,目前正在做koa2....x迁移 将之前generator全部替换为async 但是,在替换过程中,发现一些滥用async导致时间上浪费 所以来谈一下,如何优化async代码,更充分利用异步事件流 杜绝滥用async...,在实例化过程中进行文件读取,当文件读取回调触发式,进行Promise状态变更,resolved或者rejected 状态变更我们使用then来监听,第一个回调为resolve处理,第二个回调为...因为如果我们上边在执行写入过程还没有完成时,close回调是不会触发, 也就是说,回调触发就意味着上边两步write已经执行完成了。...总结 总结一下关于async函数编写几个小提示: 使用return Promise.reject()在async函数中抛出异常 让相互之间没有依赖关系异步函数同时执行 不要在循环回调中/for、while

    1.1K30

    更好编写Python代码方式

    检查Tuple里每个元素 假设有一个Tuple,里面包含了几个元素: p = (170, 0.1, 0.6) if p[1] >= 0.5: print u'好深' if p[2] >=...0.5: print u'好亮啊' 这段代码本身没有任何问题,但是写时候需要记住Tuple里每个元素都是什么,才能打印出对描述。...if p['luminosity'] >= 0.5: print u'好亮啊' 计算列表里重复元素 假设有一个叫做颜色列表, 需要计算出这个列表里每个颜色名字被重复了几次 colors...编程时候经常会碰到这种情况,需要用一个临时变量来存住一个数值,然后过一会再把这个数值取出来 t = y y = x + y x = t 最好写法: x, y = y, x+y 所有等号右侧数值都是旧数值...这个写法好处是不需要像原来那样担心每一行顺序问题。

    81090

    使用 JavaScript 编写更好条件语句

    条件调用可能初学很简单,但是还有比写一对对if/else更多东西。这里有些编写更好更清晰条件代码有用提示。...这是一个编写更清晰、易理解和维护代码方法,不是吗? 2. 提前退出 / 提前返回 这是一个精简你代码非常酷技巧。我记得当我开始专业工作时,我在第一天学习使用提前退出来编写条件。...想象如果代码有更复杂逻辑会怎么样?大量if..else语句。 我们能用三元运算符、&&条件等语法重构上面的功能,但让我们用多个返回语句编写更清晰代码。...使用可选链和空值合并 这有两个为编写更清晰条件语句而即将成为 JavaScript 增强功能。当写这篇文章时,它们还没有被完全支持,你需要使用 Babel 来编译。...总结 让我们为了编写更清晰、易维护代码,学习并尝试新技巧和技术,因为在几个月后,长长条件看起来像搬石头砸自己脚。END

    1.6K30

    JS】303- 编写更好 JavaScript 条件式和匹配条件技巧

    译者:@chorer译文:https://chorer.github.io/2019/06/24/Trs-更好JavaScript条件式和匹配标准技巧/ 作者:@Milos Protic 原文:https...我们可以通过编写一个类似的 for…loop 语句来实现相同结果,就像之前写一样。但幸运是,有很酷 JavaScript 函数可以来帮助我们完成这件事。...例如,如果我们在给定车辆对象中包含额外属性,则该属性在我们函数中是无法获取。 根据偏好,开发者会选择其中一种方式。实践中,编写代码通常介于两者之间。...因此,对于以这种方式编写代码,你需要使用 Babel 进行编译。你可以在自判断链接这里以及在空合并这里查阅。...许多库,例如 lodash,有自己函数作为替代方案。不过这不是我们想要,我们想要是在原生 js 中也能做同样事。

    1.4K10

    编写 if 时不带 else,你代码会更好

    设计更好软件,替换If-Else5种方法。入门到高级示例 让我直接说这句话:If-Else通常是一个糟糕选择。 它导致设计复杂,代码可读性差,并且可能导致重构困难。...但是,If-Else已成为事实上代码分支解决方案,这确实是有道理。这是向所有有抱负开发人员讲授第一件事。不幸是,许多开发人员从来没有前进到更合适分支策略。...有些人口头禅是:If-Else是一把锤子,一切都是钉子。 无法区分何时使用更合适方法是区分大三学生和大三学生原因之一。 我将向您展示一些技巧和模式,这些技巧和模式将终结这种可怕做法。...重构这个混乱过程过程如下: 使用公共接口将每个分支提取到单独策略类中 动态查找实现通用接口所有类 根据输入决定执行哪种策略 替换上面示例代码如下所示。是的,这是更多代码方式。...方法签名保持不变,因为调用者不需要了解我们重构。 首先,获取实现通用接口IOrderOutputStrategy程序集中所有类型。

    66920

    如何编写更好SQL查询:终极指南(下)

    SQL是数据挖掘分析行业不可或缺一项技能,对于SQL来说,编写查询语句只是第一步,确保查询语句高效并且适合于你数据库操作工作,才是最重要。...在上一篇文章中,我们分享了评估查询语句步骤和方法(参考:如何编写更好SQL查询:终极指南(上))今天我们从更深入角度继续分析。...在数据库语言中,复杂性衡量了查询运行时间长短。 请注意,数据库大小不仅随着表中存储数据增加而增加,数据库中索引也会影响数据库大小。...估算查询计划时间复杂性 执行计划定义了每个操作所使用算法,这也使得每个查询执行时间可以在逻辑上表示为查询计划中数据表大小函数。换句话说,可以使用大O符号和执行计划来估算查询复杂性和性能。...对于不同数据库,需要考虑不同索引方式、不同执行计划和不同实现方式。 因此以下所列出时间复杂度概念非常普遍。

    2.2K60

    编写 if 时不带 else,你代码会更好

    设计更好软件,替换 If-Else 5 种方法。入门到高级示例 让我直接说这句话:If-Else 通常是一个糟糕选择。 它导致设计复杂,代码可读性差,并且可能导致重构困难。...但是,If-Else 已成为事实上代码分支解决方案,这确实是有道理。这是向所有有抱负开发人员讲授第一件事。不幸是,许多开发人员从来没有前进到更合适分支策略。...有些人口头禅是:If-Else 是一把锤子,一切都是钉子。 无法区分何时使用更合适方法是区分大三学生和大三学生原因之一。 我将向您展示一些技巧和模式,这些技巧和模式将终结这种可怕做法。...重构这个混乱过程过程如下: 使用公共接口将每个分支提取到单独策略类中 动态查找实现通用接口所有类 根据输入决定执行哪种策略 替换上面示例代码如下所示。是的,这是更多代码方式。...方法签名保持不变,因为调用者不需要了解我们重构。 首先,获取实现通用接口 IOrderOutputStrategy 程序集中所有类型。

    93760

    编写 if 时不带 else,你代码会更好

    设计更好软件,替换 If-Else 5 种方法。入门到高级示例 让我直接说这句话:If-Else 通常是一个糟糕选择。 它导致设计复杂,代码可读性差,并且可能导致重构困难。...但是,If-Else 已成为事实上代码分支解决方案,这确实是有道理。这是向所有有抱负开发人员讲授第一件事。不幸是,许多开发人员从来没有前进到更合适分支策略。...有些人口头禅是:If-Else 是一把锤子,一切都是钉子。 无法区分何时使用更合适方法是区分大三学生和大三学生原因之一。 我将向您展示一些技巧和模式,这些技巧和模式将终结这种可怕做法。...重构这个混乱过程过程如下: 使用公共接口将每个分支提取到单独策略类中 动态查找实现通用接口所有类 根据输入决定执行哪种策略 替换上面示例代码如下所示。是的,这是更多代码方式。...方法签名保持不变,因为调用者不需要了解我们重构。 首先,获取实现通用接口 IOrderOutputStrategy 程序集中所有类型。

    60330

    如何编写更好SQL查询:终极指南(上)

    首先,应该了解学习SQL对于数据挖掘分析这个工作重要性; 接下来,应该先学习SQL查询语句处理和执行过程,以便可以更好了解到,编写高质量查询有多重要。...SQL是对编程语言一种极好补充;在某些情况下,编写查询甚至比编写代码更为优先! ... SQL处理和查询执行 为了提高SQL查询性能,首先需要知道,运行查询时,内部会发生什么。...由于查询优化器可能不完善,因此数据库用户和管理员有时需要手动检查并调整优化器生成计划,以便获得更好性能。 现在你已经清楚了什么才是好执行计划。 正如前面了解到,计划成本质量起着重要作用。...编写SQL查询 需要进一步说明是,垃圾回收原则(GIGO)原本就是表达在查询处理和执行之中:制定查询的人,同时也决定着SQL查询性能。 这意味着在编写查询,有些事情可以同步去做。...就像文章开始时介绍编写查询需要遵循两个标准:首先,编写查询需要满足一定标准,其次还应该应对查询中可以出现性能问题。

    2.3K60

    编写 if 时不带 else,你代码会更好

    来源:翻译自:Nicklas Millard文章《Better Software Without If-Else》 设计更好软件,替换If-Else5种方法。...这是向所有有抱负开发人员讲授第一件事。不幸是,许多开发人员从来没有前进到更合适分支策略。 有些人口头禅是:If-Else是一把锤子,一切都是钉子。...无法区分何时使用更合适方法是区分大三学生和大三学生原因之一。 我将向您展示一些技巧和模式,这些技巧和模式将终结这种可怕做法。 每个示例难度都会增加。...重构这个混乱过程过程如下: 使用公共接口将每个分支提取到单独策略类中 动态查找实现通用接口所有类 根据输入决定执行哪种策略 替换上面示例代码如下所示。是的,这是更多代码方式。...方法签名保持不变,因为调用者不需要了解我们重构。 首先,获取实现通用接口IOrderOutputStrategy程序集中所有类型。

    71021

    编写更好 Java 单元测试 7 个技巧

    软件开发测试类型 单元测试用于测试各个代码组件,并确保代码按照预期方式工作。单元测试由开发人员编写和执行。大多数情况下,使用JUnit或TestNG之类测试框架。...功能测试由单独测试团队执行。测试用例基于规范编写,并且实际结果与预期结果进行比较。有若干工具可用于自动化功能测试,如Selenium和QTP。...目标是编写覆盖所有需求测试,而不是一开始就写代码,却可能甚至都不能满足需求。TDD是伟大,因为它导致简单模块化代码,且易于维护。总体开发速度加快,容易发现缺陷。...除了混乱,这需要开发人员手动干预去验证控制台上打印输出,以检查测试是否成功运行。更好方法是使用自动指示测试结果断言。...为该方法编写测试用例不会有任何用处,因为该方法输出是可变。因此,测试方法将不能验证任何特定执行输出。

    2.7K20

    30个神奇Python技巧来编写更好代码(上)

    如果您是python基本概念初学者,那么这是学习编写更好代码最佳时间。 python中有许多技巧可以比以前更好地改善程序。 本文将帮助您了解python中可用各种技巧。...不断地练习它们,直到成为您编程习惯一部分。 我将分享30个神奇Python技巧来帮助你编写更好代码,会分为两次来进行分享哦~ 今天先分享15个,一起来看看吧!...这在计算机科学许多操作中都很有用。 在这里,我编写了两种主要方法供程序员用来交换知识以及最佳解决方案。 方法I-使用临时变量 此方法是使用临时变量存储一些数据。 以下代码使用临时变量名编写。...范围函数语法在此处编写。 语法:range(开始,结束,步长) 让我们尝试创建一个偶数列表。...第一个是使用简单迭代编写,第二个是使用列表理解

    61870

    译 | 使用Roslyn分析器高效编写更好代码

    此仓库包括仍然适用于现代软件开发 FxCop,但现在以基于 Roslyn 现代代码分析平台为目标。让我们继续,安装这个包,以提高工作效率,更快地编写更好代码!...解决方案资源管理器中每个诊断项旁边图标对应于您在编辑器中打开规则集时看到图标: 圆圈中"i"表示信息 三角形中"!"...表示警告 圆圈中"x"表示严重 浅色背景上圆圈中"i"表示隐藏严重 圆圈中"*"表示忽略诊断 ? 然后,可以从解决方案资源管理器设置规则集严重性。在解决方案资源管理器中,展开依赖项和分析器。...现在,您已经了解了分析器工作原理,您可以提高工作效率,更快地编写更好代码!...问:我可以编写自定义分析器吗? 答:当然可以!有关如何编写分析器文档,请参阅此处(3)。 问:我应该使用 Roslyn 分析器还是 .editorconfig 规范代码样式?

    2.3K30

    11个技巧让你编写更好Python代码

    在本教程中,我们将展示11个技巧来编写更好Python代码!我们展示了许多最佳实践,它们通过使代码更加简洁和更具python风格来改进代码。...在本例中,我们希望遍历一个列表,检查当前项是否为负,并在本例中将列表中值设置为0。虽然range(len())语法可以工作,但使用内置枚举函数更好。这将以元组形式返回当前索引和当前项。...在代码某个时候,我们想要获得条目的计数,并且假设这个键也包含在字典中。当我们简单地尝试访问密钥时,它将崩溃我们代码并引发一个KeyError。所以更好方法是在字典上使用.get()方法。...与旧格式化规则相比,这更简单、更简洁,也更快。此外,我们可以在大括号中编写在运行时计算表达式。举个例子,我们想要输出变量i平方,我们可以简单地把这个操作写在f字符串中。...更好、更快、也更简洁是.join()方法: .join() method: # GOOD: list_of_strings = ["Hello", "my", "friend"] my_string

    1.1K10
    领券