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;
}