当你经由过程功能特点来将文件分组,你可以避免在文件列表高低滚动,查找编辑所须要的文件这种情况。
6.应用断定true值的方法来编写代码
要做出肯定的断言,避免应用温柔、无色、迟疑的语句,须要时应用 not 来否定、拒绝。典范的
- isFlying优于isNotFlying
- late优于notOneTime
- if (err) return reject(err);
- // do something
优于
几乎每一个函数式编程类库都供给至少两种函数组合办法:大年夜右到左依次运行的compose();大年夜左到右依次运行的pipe()。
- if (!err) {
- // ... do something
- } else {
- return reject(err);
- }
三元断定语句
- {
- [Symbol.iterator]: iterator ? iterator : defaultIterator
- }
优于
- {
- [Symbol.iterator]: (!iterator) ? defaultIterator : iterator
- }
恰当的应用否定
有时刻我们只关怀一个变量是否缺掉,如不雅经由过程断定true值的方法来定名,我们得用!操作符来否定它。这种情况下应用 "not" 前缀和取反操作符不如应用否定语句直接。
if (missingValue)优于if (!hasValue)
进一步简化,因为这些办法都是组件内置的。在办法名中参加component是多余的。想一想如不雅你直接调用这些办法时:component.componentWillUpdate()。这就似乎在说,“吉米吉米在鸵磺性牛排。”你没有须要听到同一个对象的名字两次。显然,
if (anonymous)优于if (!user)
if (!isEmpty(thing))优于if (notDefined(thing))
不要在函数调用时,传入undefined或者null作为某个参数的值。如不雅某些参数可以缺掉,更推荐传入一个对象:
- const createEvent = ({
- title = 'Untitled',
- timeStamp = Date.now(),
- description = ''
- }) => ({ title, description, timeStamp });
- const birthdayParty = createEvent({
- title: 'Birthday Party',
- description: 'Best party ever!'
- });
优于
- const createEvent = (
- title = 'Untitled',
- timeStamp = Date.now(),
- description = ''
- ) => ({ title, description, timeStamp });
- const birthdayParty = createEvent(
- 'Birthday Party',
- undefined, // This was avoidable
- 'Best party ever!'
- );
不合的技巧筹划应用不合的代码组织构造来实现
迄今为止,应用法度榜样中未解决的问题很少。最终,我们都邑一次又一次地做着同样的工作。当如许的场景产生时,意味着代码重构的机会来啦。分辨出类似的部分,然后采掏出可以或许支撑每个不合部分的公共办法。这恰是类库以及框架为我们做的工作。
推荐阅读
也决定了前端只负责全部Web应用上的视觉和交互层,凡是涉及到数据的,后端必定要做严谨的校验,不信赖任何前端的请求。跟着前端的成长,Web应用的状况治理愈发复杂,然而因为前端的一些特点: 代码开源 请求透>>>详细阅读
本文标题:JavaScript代码风格要素
地址:http://www.17bianji.com/lsqh/36122.html
1/2 1