代码编程(程序员的10个编程小技巧)
代码编程(程序员的10个编程小技巧)
编码规范是成为一个优质程序员的重要一课,它是编程的样式的模板。这篇文章将介绍12中编程规范及技巧,相信学习之后你的代码一定会提升一个档次。
首先我们要明确,为什么要遵循编码规范?遵循这样的约定有什么好处?
1. 遵循规范可以写出干净简洁的代码
2. 可以代码的质量
3. 提升代码的可读性
4. 使代码维护更加容易
代码整洁之道一书的作者罗伯特曾经说过:
"干净的代码既简单又直接。干净的代码读起来像写得很好的散文。简洁的代码永远不会掩盖设计者的意图,而是充满清晰的抽象和直接的控制线。" -罗伯特·马丁(Robert C. Martin)
1.不要出现莫名其妙的数字
很多程序员在实现功能的时候会分配一个没有明确意义的数字,用于特定的目的,写完这个数字后没有即使去做注释,然后过两天当程序出现问题时,翻看代码碰到这个数字,连自己都忘了它的意义。当程序需要固定的数值参与时,给予特定的名称。
案例
//错误的示范:
for(let i = 0; i < 50; i++){
//do something
}
//正确的示范:
let NUMBER_OF_STUDENTS= 50
for(let i = 0; i < NUMBER_OF_STUDENTS; i++){
//do something
}
2.深度嵌套
有些程序需要使用到无数次的嵌套循环,看着看着就晕了,这时可以将所有循环提取到单独的函数中。
假设有一个包含两层嵌套的数组,想要拿到最后一个数组的值?一般情况下开发者都会使用嵌套循环,但不是最佳的办法。可以尝试使用函数的反复调用来完成操作执行相同操作的,这样一来代码重复性更小,更易于阅读、重用性高。
// 错误示范
const array = [ [ ['Shoaib Mehedi'] ] ]
array.forEach((firstArr) =>{
firstArr.forEach((secondArr) => {
secondArr.forEach((element) => {
console.log(element);
})
})
})
// 正确示范
const array = [ [ ['Shoaib Mehedi'] ] ]
const getValuesOfNestedArray = (element) => {
if(Array.isArray(element)){
return getValuesOfNestedArray(element[0])
}
return element
}
getValuesOfNestedArray(array)
3.注释
注释是一个老生常谈的话题,很多人不重视,为了快速完成项目忽略注释,导致后期修改和复用出现很大问题,得不偿失。
4.避免创建大函数
当一个函数或一个类需要实现的功能太多时,建议将其分成多个小的函数。
假设我们需要加减两个数字。我们可以用一个功能做到这一点。但是好的做法是将它们分为两部分。如果有单独的功能,则可以在整个应用程序中重复使用。
// 错误示范
const addSub = (a,b) => {
// add
const addition = a+b
// sub
const sub = a-b
// returning as a string
return `${addition}${sub}`
}
//正确示范
// add
const add = (a,b) => {
return a+b
}
// sub
const sub = (a,b) => {
return a-b
}
5.重复代码
重复代码也是常见的问题,如遇到此情况,将重复代码提取到函数中。
继续用上面的第2点"深层嵌套"中的例子来举例。
// 错误示范
const array = [ [ ['Shoaib Mehedi'] ] ]
array.forEach((firstArr) =>{
firstArr.forEach((secondArr) => {
secondArr.forEach((element) => {
console.log(element);
})
})
})
// 正确示范
const array = [ [ ['Shoaib Mehedi'] ] ]
const getValuesOfNestedArray = (element) => {
if(Array.isArray(element)){
return getValuesOfNestedArray(element[0])
}
return element
}
getValuesOfNestedArray(array)
6.变量命名
变量命名也是有讲究的,好的变量命名可以让代码更加通俗易懂,一般来说命名遵循以下标准,名称以小写字母开头,之后的每一个单词首字母都用大写,比如骆驼的大小写为camelCase
函数和变量都必须遵循此规则。
示例代码:
let camelCase = ''const thisIsCamelCase = () => { //so something}
7.函数命名
函数的命名基本与上述提到的变量命名规则基本一样,但需要注意的是,命名尽量注意详细,比如我们需要一个能够获取用户银行信息的功能,那么要尽量将命名具体化,如下
错误的示范:getUserInfo。
正确的示范:getUserBankInfo
8.命名时注意动词的使用
比如我们需要从数据库中获取用户信息,函数的名称可以是userInfo,user或者fetchUser,但我推荐使用含有动词的命名 getUser。
//正确示范
function getUser(){//do something}
9. 常量值所有都大写
常量命名都使用全大写的名称,并用下划线分割所有单词
//正确示范
const DAYS_IN_A_YEAR = 365;
10. 避免变量使用字母
在功能性的命名中尽量避免使用单个字母,不过如果在循环中,可以忽略这一点
//错误示范
const q = () => {
//....
}
//正确示范
const query = () => {
//....
}//this is also okay
for(let i = 0;i < 10; i++){
//...
}
结论
从长远来看,遵循代码编写规范,对开发者的自身发展来说是百利而无一害的。每个项目的生命周期都很长,在很长的周期中谁也无法确定会用到之前的哪段代码,哪个功能。所以对现在的每一段代码负责,就是对以后的自己负责。加油,程序猿!!!
伤人致死判刑12年却未服刑近日有关于伤人致死判刑12年却未服刑的问题受到了很多网友们的关注,大多数网友都想要知道伤人致死判刑12年却未服刑的具体情况,那么关于到伤人致死判刑12年却未服刑的相关信息,小编也是
电影投资因爱而伟大成本多少?个人怎么参与?因爱而伟大由厦门市湖里区文化发展改革工作领导小组办公室福建省电影剧本创作研究中心共同指导,厦门敦雨影业有限公司南京彼岸影视传媒有限公司厦门忻时代影视服务有限公司出品福建省电影剧本创
五荤三厌!(猪八戒说的五荤三厌指的是什么?)五荤三厌!(猪八戒说的五荤三厌指的是什么?)猪八戒说的五荤三厌指的是什么?和佛门八戒有何不同?在西游记第十九回,云栈洞悟空收八戒,浮屠山玄奘受心经唐僧给猪八戒取名,三藏说既从吾善果
香初上舞txt(香初上舞番外)香初上舞txt(香初上舞番外)大家好,我是书心!夏天炙烤的气息渐渐逼近,大家得注意一下防暑。今天小编要给大家推荐四本让人一眼就沉沦的言情小说啊,小说男主霸气侧漏,女主青春可爱,整个
立方等于多少升(1m3等于多少升)四年级下册数学学习了单位的化简,其中包括大化小,小化大,大化小,乘进率小化大,除以进率。比如1元10角,大化小,要乘进率1011010角比如1平方米0。0001公顷,小化大,要除以
盐洗脸的好处(用盐洗脸好吗)盐洗脸的好处(用盐洗脸好吗)盐是我们印象中厨房常用的调味品。这似乎与护肤无关。但是如果有人告诉你,盐可以用在脸上,你相信吗?很多人说用盐洗脸很好。用盐洗脸有什么用?让我们互相了解吧
盐水洗脸有什么好处(盐可以洗脸吗,用盐洗脸的好处有哪些)盐水洗脸有什么好处(盐可以洗脸吗,用盐洗脸的好处有哪些)食盐即可用于炒菜,也可以用于护理皮肤,洗脸的时候在水中加入适量的食盐,具有明亮眼睛的作用,而且可以提亮肤色,能够改善毛孔粗大
深呼吸的好处(深呼吸的好处竟有这么多)深呼吸的好处(深呼吸的好处竟有这么多)人时时刻刻都要呼吸。但据我国呼吸科专家统计,城市中一半以上人的呼吸方式不正确。英国一项研究显示,90以上的成年人不会有意识地调节呼吸。对身体较
吃柚子有什么好处(吃柚子的好处竟然这么多!)吃柚子有什么好处(吃柚子的好处竟然这么多!)吃柚子的好处竟然这么多!护心降糖防中风!现在正是柚子上市的季节,柚子降火,口感爽口,有天然水果罐头的称号,是一种非常好的养生水果。吃柚子
硫磺皂洗脸(硫磺皂洗脸正确方法)硫磺皂洗脸(硫磺皂洗脸正确方法)硫磺皂洗脸一天几次好?硫磺皂有杀菌的功效,抑制螨虫和真菌的作用好,硫磺皂也可以用来洗脸,那么硫磺皂洗脸有什么好处?硫磺皂洗脸正确方法是怎样的呢?一起
盐洗脸的好处(盐水洗脸有多少好处)盐洗脸的好处(盐水洗脸有多少好处)盐水洗脸的正确方法,一周几次?最近朋友都在用盐水洗脸,很多人也在用盐水洗脸。以前只用过醋洗脸,但是盐水洗脸却未曾尝试过。今天整理了一些关于盐水洗脸