Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这是否可读,如果不可读,我应该更改什么?_Javascript_Formatting_Indentation - Fatal编程技术网

Javascript 这是否可读,如果不可读,我应该更改什么?

Javascript 这是否可读,如果不可读,我应该更改什么?,javascript,formatting,indentation,Javascript,Formatting,Indentation,我经常收到评论说我的代码不可读…我已经将我的风格更新到下面…有改进的建议吗 /* Check - Checks the user input text against regular expressions */ // Regular expressions var patterns = { name: /^[a-zA-Z-\s]{1,20}$/, // checks full name email: /^[a-z

我经常收到评论说我的代码不可读…我已经将我的风格更新到下面…有改进的建议吗

/*
Check - Checks the user input text against regular expressions
*/

// Regular expressions

var patterns = 
  {   
  name: /^[a-zA-Z-\s]{1,20}$/,                              // checks full name
  email: /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{1,4}$/, // checks for valid email form
  pass: /.{6,40}/,                                          // checks for password length
  url:  /^[-\w&:\/\.=\?,#+]{1,}$/,                          // checks for valid url form
  aml:  /<(.+)_([a-z]){1}>$/                                // checks for aml form
  };

function check_item(reg1,text,id,res)
  {
  if(!reg1.exec(text.value))
    {
    o2(id,res);
    return 0;
    }
  return 1;
  }

function check_aml(text)
  {  
  if(a=patterns.aml.exec(text))
    {
    if(a[2]=='p')
      {
      return 0;
      }
    else if (a[2]=='f')
      {
      return 1;
      }
    }
  else
    {
    return 2;
    }
  }

// checks for empty text

function check_empty(text,id,res) 
  {
  for(var d=0;d<text.length;d++)
    {
    if(text[d].value=='')
      {
      o2(id,res);
      return 0;
      }
    }
  return 1;
  }

// checks if two text entries are the same

function check_same(text1,text2,id,res)
  {
  if((text1.value)!=(text2.value))
    {
    o2(id,res);return 0;
    }
  o2(id,'');
  return 1;
  }
/*
检查-根据正则表达式检查用户输入文本
*/
//正则表达式
变量模式=
{   
姓名://^[a-zA-Z-\s]{1,20}$/,//检查全名
电子邮件://^[a-zA-Z0-9.\-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{1,4}$//,//检查有效的电子邮件表单
pass://.{6,40}/,//检查密码长度
url://^[-\w&::\/\.=\?,\+]{1,}$/,//检查有效的url表单
反洗钱://$///检查反洗钱表格
};
功能检查项目(reg1、文本、id、res)
{
如果(!reg1.exec(text.value))
{
o2(id,res);
返回0;
}
返回1;
}
功能检查\u aml(文本)
{  
if(a=patterns.aml.exec(text))
{
如果(a[2]=='p')
{
返回0;
}
如果(a[2]='f')
{
返回1;
}
}
其他的
{
返回2;
}
}
//检查是否有空文本
功能检查为空(文本、id、res)
{
对于(var d=0;d这里有一个建议(愚蠢的主观):

/*
检查-根据正则表达式检查用户输入文本
*/
//正则表达式
变量模式={
姓名://^[a-zA-Z-\s]{1,20}$/,//检查全名
电子邮件://^[a-zA-Z0-9.\-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{1,4}$//,//检查有效的电子邮件表单
pass://.{6,40}/,//检查密码长度
url://^[-\w&::\/\.=\?,\+]{1,}$/,//检查有效的url表单
反洗钱://$///检查反洗钱表格
};
功能检查项目(reg1、文本、id、res){
如果(!reg1.exec(text.value)){
o2(id,res);
返回0;
}
返回1;
}
函数检查\u aml(文本){
if(a=patterns.aml.exec(text)){
如果(a[2]=='p'){
返回0;
}
如果(a[2]='f'){
返回1;
}
}否则{
返回2;
}
}
//检查是否有空文本
功能检查为空(文本、id、res){
for(var d=0;d
虽然这反映了我个人对javascript代码缩进的偏好,但这并不意味着它会改进蹩脚的代码。而且,是的,这是蹩脚的代码。对于变量名,如a、o2、text,…,它太不可读了

我的意思是你写了
if(a=patterns.aml.exec(text))
。你知道javascript中
=
=
=
之间的区别吗

对我来说,当没有编写此代码的人(如我)看到代码并立即知道此代码的作用时,代码是可读的。我必须承认,您的代码并非如此。我必须认真思考并浪费时间理解它的含义。

这里有一个建议(愚蠢的主观):

/*
检查-根据正则表达式检查用户输入文本
*/
//正则表达式
变量模式={
姓名://^[a-zA-Z-\s]{1,20}$/,//检查全名
电子邮件://^[a-zA-Z0-9.\-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{1,4}$//,//检查有效的电子邮件表单
pass://.{6,40}/,//检查密码长度
url://^[-\w&::\/\.=\?,\+]{1,}$/,//检查有效的url表单
反洗钱://$///检查反洗钱表格
};
功能检查项目(reg1、文本、id、res){
如果(!reg1.exec(text.value)){
o2(id,res);
返回0;
}
返回1;
}
函数检查\u aml(文本){
if(a=patterns.aml.exec(text)){
如果(a[2]=='p'){
返回0;
}
如果(a[2]='f'){
返回1;
}
}否则{
返回2;
}
}
//检查是否有空文本
功能检查为空(文本、id、res){
for(var d=0;d
虽然这反映了我个人对javascript代码缩进的偏好,但这并不意味着它会改进蹩脚的代码。而且,是的,这是蹩脚的代码。对于变量名,如a、o2、text,…,它太不可读了

我的意思是你写了
if(a=patterns.aml.exec(text))
。你知道javascript中
=
=
=
之间的区别吗


对我来说,当有人没有写过代码(比如我)时,代码是可读的我必须承认,你的代码并非如此。我必须认真思考并浪费时间理解它的含义。

我不知道javascript约定是什么,但花括号内的语句可能应该相对于大括号向右缩进另外,我认为当你打开和关闭一个块时,你不应该正确缩进大括号,它们应该与“for”或“function”的第一个字符对齐。这对我很有用

function check_empty(text,id,res) 
{
   for(var d=0;d<text.length;d++)
   {
      if(text[d].value=='')
      {
         o2(id,res);
         return 0;
      }
   }
   return 1;
}
功能检查\u为空(文本、id、res)
{

对于(var d=0;d我不知道javascript的约定是什么,但可能大括号内的语句应该相对于大括号本身向右缩进。此外,我认为在打开和关闭块时不应该右缩进大括号,它们应该与
function check_empty(text,id,res) 
{
   for(var d=0;d<text.length;d++)
   {
      if(text[d].value=='')
      {
         o2(id,res);
         return 0;
      }
   }
   return 1;
}
function check_item(reg1, text, id, res) {
    if (req1.exec(text.value)) {
        return 1;
    }

    o2(id, res);
    return 0;
}

function check_aml(text) {
    var a = patterns.aml.exec(text);
    if (!a) {
        return 2;
    }

    if (a[2] == 'p') {
        return 0;
    }

    if (a[2] == 'f') {
        return 1;
    }

    // Else what?
}

// This function is named funky, because
// it does more than check to see if the
// text is empty, it also does something
// with the o2 function.
//
// Why does it not return true/false?
function check_empty(text, id, res) {
    for (var d = 0; d < text.length; d++) {
        if (text[d].value == '') {
            o2(id, res);
            return 0;
        }
    }

    return 1;
}

// This function is named funky, because it does
// more than checks to see if they're the same,
// it also does something with the o2 function.
//
// Why does it not return true/false?
function check_same(text1, text2, id, res) {
    if (text1.value != text2.value) {
        o2(id, res);
        return 0;
    }

    o2(id, '');
    return 1;
}