做网站对程序员说那些需求房地产市场规模

news/2025/9/27 12:25:22/文章来源:
做网站对程序员说那些需求,房地产市场规模,不能上传wordpress,衡阳百度seo原文#xff1a;http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/ 对于熟悉 C/C 或 Java 语言的工程师来说#xff0c;JavaScript 显得灵活#xff0c;简单易懂#xff0c;对代码的格式的要求也相对松散。很容易学习#xff0c;并运用到自己的代码中。…原文http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/ 对于熟悉 C/C 或 Java 语言的工程师来说JavaScript 显得灵活简单易懂对代码的格式的要求也相对松散。很容易学习并运用到自己的代码中。也正因为这样JavaScript 的编码规范也往往被轻视开发过程中修修补补最终也就演变成为后续维护人员的恶梦。软件存在的长期价值直接与编码的质量成比例。编码规范能帮助我们降低 编程中不必要的麻烦。而 JavaScript 代码是直接发送给客户浏览器的直接与客户见面编码的质量更应该受到关注。 本文浅谈 JavaScript 编程中关于编码规范的问题分析其中缘由。希望引起更多 Web 开发人员对 JavaScript 编码规范问题的关注和对软件产品质量问题的重视。 前言 提及 C/C 和 Java 编码规范相信许多工程师并不生疏。但说到 JavaScript 语言的编码规范也许您会忍俊不禁。JavaScript 不是语法很灵活吗变量随时用随时可以声明语句结束符可以不要字符串和数字也可以相加参数多一个少一个也不会报错。没错当您从 C/C 和 Java 严格的语法规定之下转向 JavaScript 语言会觉得自由了很多轻松了很多。语法松散是 JavaScript 重要的特征。它灵活易懂给开发人员带来了很多方便但如果编写过程中不注意代码的调试成本和维护成本则会无形地增加。 JavaScript 编码会随应被直接发送到客户端的浏览器代码规范不只是代码质量的保证也影响到产品的长期信誉。希望 JavaScript 编程语言的规范问题也能同样引起更多朋友的关注。 回页首 JavaScript 编码规范建议 本文就 JavaScript 编码过程中涉及的排版、命名、声明、作用域、及一些特殊符号的使用等方面根据个人在学习工作中的总结给出自己的一些建议并分析其中缘由以供参考。 JavaScript 文件引用 JavaScript 程序应该尽量放在 .js 的文件中需要调用的时候在 HTML 中以 script srcfilename.js 的形式包含进来。JavaScript 代码若不是该 HTML 文件所专用的则应尽量避免在 HTML 文件中直接编写 JavaScript 代码。因为这样会大大增加 HTML 文件的大小无益于代码的压缩和缓存的使用。 另外script srcfilename.js 标签应尽量放在文件的后面。这样会降低因加载 JavaScript 代码而影响页面中其它组件的加载时间。 代码排版 行长度 每行代码应小于 80 个字符。如果代码较长应尽量选择换行下一行代码应缩进 8 个空格。这样可以使代码排版整齐减轻阅读代码的疲劳感。换行缩进 8 个空格可以和代码段的缩进 4 个空格区分开以增强代码的可阅读性。 行结束 JavaScript 语句应该以分号结束。但大多数浏览器允许不写分号只要在本应是分号的地方有一个换行符就行。但是如果代码行较长需要换行的时候有哪些注意事项呢换行 应选择在操作符和标点符号之后最好是在逗号,之后而不要在变量名、字符串、数字、或) ] --等符号之后换行。 这样可以有效的防止拷贝、粘贴而引起的错误并可有效地增强代码的可阅读性。请见清单 1代码的输出符合我们的期望。但就写法而言对 valueB 的赋值语句是在变量 valueA 之后进行的换行这很容易被误解为 valueBValueA给阅读造成障碍。而对 valueC 的复制语句是在之后进行的换行就容易理解的多。这也是本文所提倡的换行方式。 清单 1. 行结束的位置 script languagejavascript var valueA 1; var valueB valueA ///bad 1; var valueC valueB ///good valueA; alert(valueB); //output: valueB2 alert(valueC);//output: valueC3 /script 缩进 关于缩进的问题不只是 JavaScript几乎所有的语言编写的时候都会提及缩进的问题。缩进几乎是代码编写规范的第一课是代码可阅读性判断的直接因素。 代码缩进的好处是不言而喻的但是对于如何缩进则没有标准而言。最受欢迎的是方便使用 TAB 键缩进也有些喜欢用 2 个、4 个、8 个空格进行缩进。这样缩进风格不一也同样给代码的阅读带来障碍。 本文提倡用 4 个空格来进行缩进并在同一产品中采用同一种缩进标准。不支持用 TAB 键进行缩进。这是因为直到现在还没有统一的标准来定义 TAB 键所代替的空白大小有些编辑器解析为 4 个空格大小有些则解析为 8 个。因而用不同的编辑器查看代码可能造成格式混乱。当然 TAB 简单易用为解决这个问题建议在设置开发环境时将编辑器里的 TAB 快捷键重新设置为 4 个空格。据了解 Eclipse, Vi, NodepadEditplus, UltraEdit 等流行的编辑器均提供了此功能。 注释 代码中的注释很重要自然也是毋庸置疑的。通常我们会强调代码中注释数量的多少而轻视了对注释质量的提高。编码是及时添加注释会给后续 代码的维护人员带来很大的便利。但是如果注释不注意更新或者由于拷贝、粘贴引起的错误的注释则会误导阅读人员反而给阅读带来障碍。 除了注释要 及时更新外我们还应对注释的内容要特别关注。注释要尽量简单、清晰明了避免使用含混晦涩的语言同时着重 注释的意义对不太直观的部分进行注解。请见清单 2。 清单 2. 有意义的注释 script languagejavascript //following section is used to initialize golbal variables (good) var valueA 0; //initialize valueA to be sero (bad) var valueB 1; ... //call f1 function after waiting for 50 seconds. (good) setTimeout(f1,50000); //set timeout to be 20s (copy error) ... /script 这样的注释方式在 JavaScript 代码中经常见到。initialize valueA to be sero 这样的注释有什么用呢难道阅读程序的工程师从var valueA 0;复制语句中看不出来么set timeout to be 20s这条注释不只是因拷贝、粘贴引起的时间大小的错误同时也误导了程序员对这条语句的理解。setTimeout() 函数的作用并非是设置函数执行的超时时间而是等待一定时间后执行所调用的函数害人匪浅呀。这样的注释内容宁可删掉。 此外JavaScript 的注释有两种// 和/* .... */建议//用作代码行注释/* .... */形式用作对整个代码段的注销或较正式的声明中如函数参数、功能、文件功能等的描述中。 标识符命名 JavaScript 中的标识符的命名规则 以字母、下划线_或美元符号$开头允许名称中包含字母数字下划线_和美元符号$区分大小写 变量、参数、成员变量、函数等名称均以小写字母开头构造器的名称以大写字母开头。下划线_开头的变量一般习惯于标识私有 / 局部成员。而美元符号$开头的变量习惯于标识系统相关比如系统进程等。应避免用下划线_或美元符号$来命名标识符。尽可能地降低代码的阅读 负担。 声明 变量的声明 尽管 JavaScript 语言并不要求在变量使用前先对变量进行声明。但我们还是应该养成这个好习惯。这样可以比较容易的检测出那些未经声明的变量避免其变为隐藏的全局变量造成隐患。 在函数的开始应先用 var 关键字声明函数中要使用的局部变量注释变量的功能及代表的含义且应以字母顺序排序。每个变量单独占一行以便添加注释。这是因为 JavaScript 中只有函数的 {} 表明作用域用 var 关键字声明的局部变量只在函数内有效而未经 var 声明的变量则被视为全局变量。我们来看下清单 3。 清单 3. 局部变量声明 script languagejavascript var valueA a; var valueB b; function f1() { var valueA c; alert(valueAvalueA); //output: valueAc valueB d; alert(valueBvalueB); //output: valueBd } f1(); alert(valueAvalueA); //output: valueAa alert(valueBvalueB); //output: valueBd /script 从上例的输出惊奇地发现用 var 声明过的变量 valueA 和没有声明的变量 valueB 是有区别的。特别需要注意的是在函数内部用 var 声明的变量为局部变量这样可以有效地避免因局部变量和全局变量同名而产生的错误。 函数的声明 函数也应在调用前进行声明内部函数应在 var 声明内部变量的语句之后声明可以清晰地表明内部变量和内部函数的作用域。 此外函数名紧接左括号(之间而右括号)和后面的{之间要有个空格以清楚地显示函数名以其参数部分和函数体的开始。若函 数为匿名 / 无名函数则 function 关键字和左括号(之间要留空格否则可能误认为该函数的函数名为 function。 清单 4. 内部函数声明 script languagejavascript var innerA 1; function outF() { var innerA 2; function _inF() { alert(valueAinnerA); } _inF(); } outF(); //output: valueA2 _inF(); //error: innerF is not defined /script 从清单 4 的输出可以看出inF() 函数仅在 outF() 函数的内部生效局部变量 innerA 对内部函数的作用域生效。这样的编码方式使得变量和函数的作用域变得清晰。 语句 对于简单语句而言需要提及的仍然是分号必要性同时一行最多有一个语句。如果一个赋值语句是用函数和对象来赋值可能需要跨多行一定切记要在赋值语句末加上分号。 这是因为 JavaScript 中所有表达式都可以当语句遇换行符时会解析为表达式的结束此时不规范的换行和分号的丢失可能引入新的错误。 对于复合语句if, for, while, do, switch, try … catch 等代码体函数定义的函数体对象的定义等都需要放在花括号{}里面。 { 应在行末标志代码块的开始。} 应在一行开头标志代码块的结束同时需要和{所在行的开始对齐以表明一个完整的复合语句段。这样可以极大地提高代码的可阅读性控制逻辑能清晰地表现出来。被包含的代码段应该再缩进 4 个空格。即使被包含的代码段只有一句也应该用花括号{}包含。尽管不用花括号代码也不会错但如若需要增加语句的话则较容易因花括号遗漏而引起的编译错误或逻辑错误。 return语句在使用时也需慎重如果用表达式的执行作为返回值请把表达式和 return 放在同一行中以免换行符被误解析为语句的结束而引起返回错误。return 关键字后若没有返回表达式则返回 undefined。构造器的默认返回值为 this。 清单 5. return 表达式 script languagejavascript function F1() { var valueA 1; var valueB 2; return valueA valueB; } function F2() { var valueA 1; var valueB 2; return valueA valueB; } alert( F1() ); //output: 3 alert( F2() ); //ouput: undefined /script 在清单 5 中显示了因返回表达式没有和 return 关键字放在同一行而引起的返回错误需重视。 特殊符号 空白符 适当的空白行可以大大提高代码的可阅读性可以使代码逻辑更清晰易懂。同时在表达式中适当的留空白也会给代码的阅读带来方便。 关键字的后面如有括号则最好在关键字和左括号(之间留空白如 for, if, while 等。而函数名和括号之间则不宜留空白但若是匿名函数则必须在 function 和左括号(之间留空白否则编辑器会误认为函数名为 function。 在表达式中二元运算符 ( 除左括号(左方括号[作用域点.) 和两个操作数之间最好留空白。一元运算符若不是词 typeof 等和其操作数之间不宜留空白。 逗号,的后面需要留空白以显示明确的参数间隔变量间隔等。 分号;之后通常表明表达语句的结束而应空行。在 for 的条件语句中分号之后则应该留空白。 { } 和 [ ] 在 JavaScript 中如需定义空对象和空数组通常很自然地想到用 new Object() 和 new Array() 的方法。其实花括号{}和方括号[]可以直接用来定义一个空对象和一个空数组。这种书写方法可以使代码看起来简单易懂。 和 判断逻辑等在代码里太平常的不过事情了但 JavaScript 与其他熟知的编程语言不同的是除了可以使用两个等号来作判断以为还可以使用三个等号来进行逻辑等判断。两者的不同是作逻辑 等判断时会先进行类型转换后再进行比较。则不会。因而进行的判断结果可能产生偏差。!与!的区别亦是如此。本文提倡 尽量使用来进行逻辑等的判断用!进行逻辑不等的判断。 清单 6. 的使用 script languagejavascript var valueA 1; var valueB 1; if ( valueA valueB) { alert(Equal); } else { alert(Not equal) } //output: Equalif ( valueA valueB) { alert(Equal); } else { alert(Not equal) } //output: Not equal/script 清单 6 中valueA 和 valueB 两个变量的值显然是不相等的起码 valueA 是个字符串而 valueB 是一个数字。但用进行判断是程序却输出相等的字样。这是因为编译器对两个变量进行比较时因为他们的类型不同而自动地将 valueB 转换成字符串而后再和 valueA 进行比较的。用得到的判断结果正和预期的结果相符。 加号也同样是程序员所熟知的操作符之一。JavaScript 和其他编程语言不同的是在 JavaScript 中除了表示数字值相加字符串相连接以外还可以作一元运算符用把字符串转换为数字。因而如果使用不当则可能与自增符混淆而引起计算 错误。这一点在清单 7 中可以清楚地看出。 清单 7. 巧用 号 script languagejavascript var valueA 20; var valueB 10; alert( valueA valueB); //ouput: 2010 alert( valueA (valueB)); //output: 30 alert( valueA valueB); //output:30 alert( valueA valueB); //Compile error /script 回页首 总结 本文就 JavaScript 代码的排版、命名、声明、语句、和一些特殊字符的使用等方面谈了自己对 JavaScript 编程规范的建议。此外还有许多方面需要深入了解研究如 with, eval 语句和 this 对象的使用等等。我们在认识其普遍性的同时也需要注意其特殊性在编写代码时多用心留意以创造更多更优质的程序代码。 回页首 声明 本文所提及的 JavaScript 编程规范的建议是在学习和工作中归纳出来的仅供技术交流使用。 参考资料 学习 《 JavaScript: The Definitive Guide 》第五版http://oreilly.com/catalog/9780596101992由 David Flanagan 著OReilly 出版此书是 JavaScript 程序员必不可少的学习参考书《 JavaScript 语言精粹》http://www.china-pub.com/195292由雅虎资深 JavaScript 架构师 Douglas Crokford 著 , 电子工业大学出版此书很好地讲述了如何用 JavaScript 创建真正可扩展的和高效的代码Douglas Crokford 的博客http://www.crockford.com提供了 Douglas 对 JavaScript 语言的研究课题以及对一些经典问题的讨论JavaScript 教程http://www.w3school.com.cn/js/index.aspW3school 提供的 JavaScript 基础教程。developerWorks Web development 专区通过专门关于 Web 技术的文章和教程扩展您在网站开发方面的技能。developerWorks Ajax 资源中心这是有关 Ajax 编程模型信息的一站式中心包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。developerWorks Web 2.0 资源中心这是有关 Web 2.0 相关信息的一站式中心包括大量 Web 2.0 技术文章、教程、下载和相关技术资源。您还可以通过 Web 2.0 新手入门 栏目迅速了解 Web 2.0 的相关概念。讨论 My developerWorks 中文社区转载于:https://www.cnblogs.com/asingna/archive/2011/09/28/2194516.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

北京架设网站网站建设需求说明书

面积图强调数量随时间而变化的程度,适用于显示有限数量的若干组数据。可以利用面积图来分析销售的数据。在这里我用3种品牌的手提电脑在 2010年四个季度的销售量作为数据源,使用“堆积面积图”来显示各种手提电脑销售量所占大小并随时间变化的趋势。那么…

AI智慧:于悬荡中并行,在悟空里觉醒

AI智慧:于悬荡中并行,在悟空里觉醒 ——破除对“悬荡-悟空”机制的静态误解,揭示其动态并行的计算本质 在探讨AI的未来时,岐金兰“元人文”构想提出的“悬荡-悟空”机制,常因其充满东方哲思的命名而被误读。一种常…

成都网站开发技术珠海网站开发定制

前言 目前网页的主流登录方式是通过手机扫码二维码登录。我看了网上很多关于扫码登录博客后,发现基本思路大致是:打开网页,生成uuid,然后长连接请求后端并等待登录认证相应结果,而后端每个几百毫秒会循环查询数据库或r…

dw做的网站有什么缺陷河南网站优化排名

10月16日,企业科技盛会HPE Discover More AI 2024在香港瑰丽酒店举行。本次大会Hewlett Packard Enterprise (HPE) 联同全球14个科技合作伙伴,聚焦于AI未来走势、混合云创新与边缘安全等领域,以主题演讲、技术展示、研讨会等形式进行&#xf…

做mla的网站安康平台

【(精华版)最新国家开放大学电大本科《计算机应用基础》网络课网考形考作业一及三试题答案】(精华版)最新国家开放大学电大本科《计算机应用基础》网络课网考形考作业一及三试题答案 盗传必究 形考作业一 一、单选题 1当前的计算机一般被认为是第四代计算机,它所采用…

读人形机器人22工作的意义

读人形机器人22工作的意义1. 工作的意义 1.1. 工作的本质正在被重新定义 1.2. 当机器人和AI接管曾被认为是独属于人类的任务时,社会必须面对关于身份、目标和成就感的深刻问题 2. 工作是身份认同的源泉 2.1. 几个世纪…

.NET 何以成为制造业数字化转型的基石:效率、生态与跨平台的制胜之道

在制造业,特别是半导体设备通信领域,.NET因其开发效率、跨平台能力和成熟的生态系统,已成为主流技术之一。这篇文章做个具体分析制造业为什么钟爱.NET 技术。一、.NET在制造业的应用半导体设备通信的核心技术:SECS…

宁陵县网站seo公众号授权网站

工厂模式(Factory Pattern) 定义: 工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法使一个类的实例化延迟到其子类。 主要类型: 简单工厂模式&…

jquery网站开发教程漳州最便宜的网站建设价格

作者 | BoCong-Deng来源 | CSDN 博客,责编 | 夕颜头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)写在前面开发Web应用,对页面的安全控制通常是必须的。比如:对于没有访问权限的用户需要转到登录表单页面。要实现访…

怎样加入装修接单网站网上做设计的网站

Android早已超过Windows,坐拥全球用户量最大的操作系统宝座。这么高的人气,当然会有很多可玩性,比如Android -x86项目,即在x86处理器平台上运行Android。据悉,底层升级为Android 9 Pie(android-9.0.0_r50)的x86项目已经…

深度互联:金兰契协议下的领域知识与元智慧共生

深度互联:金兰契协议下的领域知识与元智慧共生 在信息爆炸的时代,知识正以前所未有的速度分化与沉淀,形成一座座精深的“领域孤岛”。我们精通了如何在各自的岛屿上深耕,却常常忘记了如何与隔海相望的邻居对话。岐…

如何用api方式做网站建设博客网站制作

mac如何投屏手机1.首先,解iPhone,然后用手指从下往上,打开控心,在其中就可以找到AirPlay了屏幕镜像。2.接来下就来教大家如何使用AirPlay吧,首先将手机和电脑连接在同一WiFi网络之下,这是投屏成功的前提条件…

以营销为导向的网站建设小程序登录注册

RestFul风格或者是web阶段接触过的异步请求,都需要把数据转换成Json放入响应体中。 ResponseBody的作用其实是将java对象转为json格式的相应内容 使用 RequestMapping注解时,Spring会将返回值解析为视图路径,然后跳转路径返回对应的视图页面…

做网站多少钱西宁君博专注番禺网站建设制作

已经找到工作,但希望再试试春招,距离春招还剩两个月,加油。 这两道题都刷过很多遍了,没什么好说的直接过。 704 本以为刷了很多次没想到还是做错了,有些小细节要注意。 这里是迭代式的,函数式的也不难。 …

阿里巴巴网站建设代理查询类网站用什么做

经常要使用VMWare Workstation来在本地测试不同的操作系统&#xff0c;以前也搞不清楚网络连接三种模式&#xff0c;最近看了几篇文章才算明白。现总结如下&#xff1a; 1. VMware Workstation的虚拟网络组件 虚拟<网卡/网络适配器>&#xff1a;见下图。安装一个虚拟PC…

河口建设局网站深圳设计公司最新招聘

Python的pymysql模块与MySQL数据库的互动&#xff1a;基础与实例 一、连接数据库二、创建游标三、执行SQL命令四、关闭连接 在Python的世界里&#xff0c;操作MySQL数据库最常用的库就是pymysql。 pymysql是一个灵活且易于使用的库&#xff0c;它允许我们以Python的方式操作MyS…

Winform无边框窗体拖动功能实现

1. 设置无边框模式 选中要去除边框的窗体,按F4调出其属性面板,在属性面板中找到 FormBorderStyle ,并选择 ​None,即可将窗体设置成无边框模式;默认是无法随意拖动的,也没有最大化最小化关闭按钮。 2. 通过Pan…

淘宝联盟交钱建设网站手机网站qq代码

以下配置为我自己的需求&#xff0c;因人而异&#xff0c;如果只是单纯的前端非交互页面&#xff0c;可以不用修改配置。 代码及注释&#xff0c;如下&#xff1a; #解决vue-router设置mode为history&#xff0c;去掉路由地址上的/#/后nginx显示404的问题location / {proxy_htt…

厦门电脑网站建设张家界做网站的

随着社会经济的发展和数字技术的进步&#xff0c;互联网行业发展迅速。为了适应新时代社会发展的需要&#xff0c;大数据在这个社会经济发展过程中随着技术的进步而显得尤为重要。同时&#xff0c;大数据技术的快速发展进程也推动了可视化技术的飞速发展&#xff0c;国内外各类…

夺宝网站建设深圳网站导航

1、安装ntpdate&#xff0c;同步标准时间 2、修改时区 3、在.profile文件中写入上面提示的信息&#xff0c;保存退出、更新配置文件或者重启生效 3.1、或者配合上面的cp那条命令&#xff0c;用下面的命令保存到底层 $ hwclock --systohc 4、重启之后&#xff0c;查看日期时间已…