写法的误区

写法带来了误区

提示:或许你代码写得很好,但也可接着往下看
这儿可不深谈阔论“不做不错,越做越错”之类,只赋能一眼就告别写法之模棱两可的绝世功力,带你脱离误区(不是密室逃脱~~)。



前言

提示:下面是作者的真实感受:

从一年级第1节C语言课开始,就知道自己是未来代码界芸芸众生的那号猿。再说谁天生爱预测未来,可现实却是佩服自己怎么就做到了?好吧!过去在编辑器各种谜之写法,就当我想被家人们diss伏笔。

Later, I saw on the Internet that beautiful women can be so beautiful, and code can be written so beautifully. Yes, I’m starting to hate myself. Please give me another chance, ok?


提示:以下是本篇文章正文内容,下面写法(JS)可供参考

1、关键字后面加空格

for(let i = 0; i < length; i++) {...}     // ✗
for (let i = 0; i < length; i++) {...}    // ✓

2、遇到分号时空格要后留前不留

for(let i = 0; i < length; i++) {...}     // ✗
for (let i = 0; i < length; i++) {...}    // ✓

3、代码块首尾留空格

for(let i = 0; i < length; i++){...}      // ✗
for (let i = 0; i < length; i++) {...}    // ✓

4、注释首尾留空格

//content           // ✗
/*content*/         // ✗

// content          // ✓
/* content */       // ✓

5、逗号后面加空格

const list = [1,2,3]      // ✗
const list = [1, 2, 3]    // ✓

6、单行代码块两边加空格

if (true) {return true}    // ✗
if (true) { return true }  // ✓

7、点号操作符须与属性需在同一行


console.
  log('console.log')        // ✗
  
console.log('console.log')  // ✓

console
  .log('console.log')      // ✓

8、键值对当中冒号与值之间要留空白

const obj = { 'k' : 'v' }    // ✗
const obj = { 'k' :'v' }     // ✗
const obj = { 'k':'v' }      // ✗
const obj = { 'k': 'v' }     // ✓

9、每个 const/let 关键字单独声明一个变量

// ✗
const a = 1, b = 2
// ✗
let a = 1,
    b = 2

// ✓
const a = 1
let b = 2

10、不要省去小数点前面的0

const discount = .1      // ✗
const discount = 0.1     // ✓

11、字符串拼接操作符之间要留空格

// ✗ 
const age = 18
const info = 'This year, '+age+'!'
// ✓ 
const age = 18
const info = 'This year, ' + age + '!'

12、检查 NaN 的正确style是使用 isNaN()

if (total === NaN) { }      // ✗
if (isNaN(total)) { }       // ✓

13、对象中定义了存值器,一定要对应的定义取值器

const person = {
  set age (value) {    // ✗
    this._age = value
  }
}

const person = {
  set age (value) {
    this._age = value
  },
  get age () {         // ✓
    return this._age
  }
}

14、不要扩展原生对象

Object.prototype.name = 'name'     // ✗

15、嵌套的代码块中禁止再定义函数

if (open) {
  function setClose () {}    // ✗
}

16、同一模块有多个导入时一次性写完

import { cmp1 } from 'module'
import { cmp2 } from 'module'          // ✗

import { cmp1, cmp2 } from 'module'   // ✓

17、关避免在 return 语句中出现赋值语句

function add (a, b) {
  return result = a + b     // ✗
}

18、if/else 关键字要与花括号保持在同一行

// ✗
if (true)
{
  // ...
}
else
{
  // ...
}

// ✓
if (true) {
  // ...
} else {
  // ...
}

19、请书写优雅的条件语句

if ('name' === name) { }    // ✗
if (name === 'name') { }    // ✓

20、如果有更好的实现,尽量不要使用三元表达式

let dream = N ? N : 0     // ✗
let dream = N || 0        // ✓

使用步骤

1.按“✓”来写

你会爱上自己的
code!

总结

或许过去我们有着同样的写法,一样难以辨别的误区。没关系,现在请你动动不计重量的body,来吧,good good write the code!

of course,还有更多正确的写法,欢迎━(`∀´)ノ亻留言区~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值