建设网站设计公司,网络架构 书籍,wordpress修改网站标题,流量对网站排名的影响因素编码规范是成为一个优质程序员的重要一课#xff0c;它是编程的样式的模板。这篇文章将介绍12中编程规范及技巧#xff0c;相信学习之后你的代码一定会提升一个档次。
首先我们要明确#xff0c;为什么要遵循编码规范#xff1f;遵循这样的约定有什么好处#xff1f; 遵循…编码规范是成为一个优质程序员的重要一课它是编程的样式的模板。这篇文章将介绍12中编程规范及技巧相信学习之后你的代码一定会提升一个档次。
首先我们要明确为什么要遵循编码规范遵循这样的约定有什么好处 遵循规范可以写出干净简洁的代码 可以代码的质量 提升代码的可读性 使代码维护更加容易
《代码整洁之道》一书的作者罗伯特曾经说过
“干净的代码既简单又直接。干净的代码读起来像写得很好的散文。简洁的代码永远不会掩盖设计者的意图而是充满清晰的抽象和直接的控制线。” -罗伯特·马丁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 ab // sub const sub a-b // returning as a string return ${addition}${sub} } //正确示范 // add const add (a,b) { return ab } // 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.命名时注意动词的使用 比如我们需要从数据库中获取用户信息函数的名称可以是userInfouser或者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){ //… } 结论
从长远来看遵循代码编写规范对开发者的自身发展来说是百利而无一害的。每个项目的生命周期都很长在很长的周期中谁也无法确定会用到之前的哪段代码哪个功能。所以对现在的每一段代码负责就是对以后的自己负责。加油程序猿