问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何让自己的java代码更清晰易读

发布网友 发布时间:2022-04-25 08:43

我来回答

3个回答

懂视网 时间:2022-05-15 06:47

本篇主要给广大JS程序员介绍了怎么能让自己写的JS代码好看易读,分析了几个需要注意的地方和方法,一起来学习下。

作为JS程序员,自己写的代码如果好看易读,不只是自己看起来好看,在别的程序员接手以后,也会是交接工作异常顺利。

不要在代码中留大段注释掉的代码

留给git去管理,不然你要git干嘛

// bad
// function add() {
// const a = b + c
// return a
// }
function add() {
 return a + 1000
}
// good
function add() {
 return a + 1000
}

适当地换行

// bad
function a() {
 const {
 state_a,
 state_b,
 state_c
 } = this.state
 this.setState({state_a: state_a * 2})
 return 'done'
}
// good
function a() {
 const {
 state_a,
 state_b,
 state_c
 } = this.state
 this.setState({state_a: state_a * 2})
 return 'done'
}

适当的添加注释,但不要疯狂的添加注释

对一段代码或者一行特别需要注意的代码注释

不要疯狂的注释,太啰嗦,漂亮的代码自己会说话

// bad
const a = 'a' // 这是a
const b = 'b' // 这是b
const c = 'c' // 这是c
// good
/**
 * 申明变量
 */
 const a = 'a'
 const b = 'b'
 const c = 'c'

将类似行为、命名的代码归类在一起

// bad
function handleClick(arr) {
 const a = 1
 arr.map(e => e + a)
 const b = 2
 return arr.length + b
}
// good
function handleClick(arr) {
 const a = 1
 const b = 2
 arr.map(e => e + a)
 return arr.length + b
}

在不破坏语义性的情况下,'能省则省'

牢记js中函数是一等公民

但是,如果省略到影响可读性了,就是失败的

在可读性和简洁性至今必须选一个的话,永远先选可读性

function add(a) {
 return a + 1
}
function doSomething() {
}
// bad
arr.map(a => {
 return add(a)
})
setTimeout(() => {
 doSomething()
}, 1000)
// good
arr.map(add)
setTimeout(doSomething, 1000)

箭头函数

// bad
const a = (v) => {
 return v + 1
}
// good
const a = v => v + 1
// bad
const b = (v, i) => {
 return {
 v,
 i
 }
}
// good
const b = (v, i) => ({v, i})
// bad
const c = () => {
 return (dispatch) => {
 // doSomething
 }
}
// good
const c = () => dispatch => {
 // doSomething
}

提前对对象取值(写react的同学一定懂)

// bad
const a = this.props.prop_a + this.props.prop_b
this.props.fun()
// good
const {
 prop_a,
 prop_b,
 fun
} = this.props
const a = prop_a + prop_b
fun()

合理使用各种表达式

// bad
if (cb) {
 cb()
}
// good
cb && cb()
// bad
if (a) {
 return b
} else {
 return c
}
// good
return a ? b : c
// bad
if (a) {
 c = a
} else {
 c = 'default'
}
// good
c = a || 'default'

链式调用写法

// bad
fetch(url).then(res => {
 return res.json()
}).then(() => {
 // doSomething
}).catch(e => {
})
// good
fetch(url)
 .then(res => {
 return res.json()
 })
 .then(() => {
 // doSomething
 })
 .catch(e => {
 })

保持代码是纵向发展的

发现那些在整个文件中特别'突出'的代码时,应该考虑对他们做换行处理了

// bad
return handleClick(type, key, ref, self, source, props)
// good
return handleClick(
 type,
 key,
 ref,
 self,
 source,
 props
)
// bad
const a = this.props.prop_a === 'hello' ? <di>world</p> : null
// good
const a = this.props.prop_a === 'hello'
 ? <di>world</p>
 : null

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

JS保留一位数字后移除非数字

JS验证输入保留指定小数

JS使用分时函数优化代码

热心网友 时间:2022-05-15 03:55

不要用小众语言(Erlang、Scala等)。 尽可能的代码自说明,除非复杂逻辑,否则不要添加太多琐碎的注释。 尽量少用语言的高级特性、新特性。 函数命名, 变量命名, 文件命名应具备描述性,这点尤其重要。

热心网友 时间:2022-05-15 05:13

结构清晰、多写注释、命名规范、代码可重复利用。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 JAVA版的视频播放器有支持AVI、FLV之类的高清格式的吗? 使用亲情关怀时亲友会看到你的隐私吗 怎么删除QQ群里共享的音乐? 怎么关闭qq群的声音 怎样关闭qq群的聊天提示声音? qq群声音怎么关闭声音 糖豆网广场舞-杨丽萍请到天涯海角来是谁唱的 糖豆广场舞的杨丽萍是跳孔雀舞的杨丽萍吗? 杨丽萍广场舞老婆不败家赚钱给谁花 广场舞杨丽萍哪年出生 糖豆广场舞杨丽萍广场舞等爱的吗 杨丽萍广场舞老师简介请问是不是跳孔雀舞那个杨丽萍 丽萍广场舞再过二十年 舞蹈家杨丽萍和糖豆广场舞杨丽萍是同一个人吗 广场舞杨丽萍个人资料 跳广场舞的杨丽萍简介 跳孔雀舞的杨丽萍和跳广场舞的杨丽萍是同一个人吗? 广场舞教练杨丽萍多少岁? 跳广场舞的杨丽萍今年多大岁数 电动车没电但是插上充电器充电指示灯一直显示绿灯怎么回事? 如何在java中将模糊图像比较清晰的显示 JAVA 获取清晰屏幕图片(用于屏幕截图) java编程常用单词,高清大图,拿来做电脑壁纸,有没有 谁有孙鑫老师的java视频教程?要清晰的!能下载的!全集!谢谢了 JAVA编程,要十分详细,给高分 java编程思想第五版高清扫描pdf有什么? java生成pdf文件时为什么图片没有原来那么清晰了,这个问题怎么解决 求java高清教程全合集 发至我的email:312023474@qq.com 梦见我去泡茶叶喝老公把茶叶都给人家了,气的和老公吵架? 梦见喝茶是什么寓意? 做梦梦见用茶叶泡水喝时,茶叶舒展开来里面都有一条白胖胖的蚕子,不知凶吉? 梦见泡茶茶水特别清澈? 梦见泡茶放了好多茶叶? 梦见爷爷喝茶水? 华为手机上设置亲情关怀对方能看到我的隐私吗 拍拍贷源码哪里有? 有像拍拍贷一样的贷款平台吗? 有没有跟拍拍贷一样的易通过的贷款软件 除了拍拍贷 还有什么比较容易贷款 求像拍拍贷一样好借钱的app