分析一套源代码的代码规范和风格并讨论如何改进优化代码
2019-10-10 16:45 cgr 阅读(180) 评论(0) 收藏 举报js判断用户访问的是PC还是mobile
-
var browser={
-
versions:function(){
-
var u = navigator.userAgent, app = navigator.appVersion;
-
var sUserAgent = navigator.userAgent;
-
return {
-
trident: u.indexOf('Trident') > -1,
-
presto: u.indexOf('Presto') > -1,
-
isChrome: u.indexOf("chrome") > -1,
-
isSafari: !u.indexOf("chrome") > -1 && (/webkit|khtml/).test(u),
-
isSafari3: !u.indexOf("chrome") > -1 && (/webkit|khtml/).test(u) && u.indexOf('webkit/5') != -1,
-
webKit: u.indexOf('AppleWebKit') > -1,
-
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
-
mobile: !!u.match(/AppleWebKit.*Mobile.*/),
-
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
-
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
-
iPhone: u.indexOf('iPhone') > -1,
-
iPad: u.indexOf('iPad') > -1,
-
iWinPhone: u.indexOf('Windows Phone') > -1
-
};
-
}()
-
}
-
if(browser.versions.mobile || browser.versions.iWinPhone){
-
window.location = "http:/www.baidu.com/m/";
-
}
js如何判断用户是否是用微信浏览器
-
function isWeiXin(){
-
var ua = window.navigator.userAgent.toLowerCase();
-
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
-
return true;
-
}else{
-
return false;
-
}
-
}
判断浏览器的简单有效方法
-
-
function getInternet(){
-
if(navigator.userAgent.indexOf("MSIE")>0) {
-
return "MSIE"; //IE浏览器
-
}
-
-
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
-
return "Firefox"; //Firefox浏览器
-
}
-
-
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
-
return "Safari"; //Safan浏览器
-
}
-
-
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
-
return "Camino"; //Camino浏览器
-
}
-
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
-
return "Gecko"; //Gecko浏览器
-
}
列举哪些做法符合代码规范和风格一般要求
- 对于脚本语言TypeScript和预处理语言Sass,直接省略了规范文档,采用的是使用对应的校验工具tslint和sasslint,编辑器集成的插件可以及时提醒开发者遵循规范,对于有疑问的错误信息也很容易在网上进行查找。
- 对于比较灵活的部分,如变量命名、文件创建以及代码内容则采用文档描述加上代码评审的方式,评审方式为互评,先由其它开发者查阅代码进行评论,然后再转给管理员进行审核。
列举哪些做法有悖于“代码的简洁、清晰、无歧义”的基本原则,及如何进一步优化改进
一、选择一个好的命名
命名有两个目标:
-
清晰:你要知道该命名与什么有关。
-
精确:你要知道该命名与什么无关。
当一个命名完成上面两个目标之后,其余的字符就是多余的了。下面是我在开发时的一些命名原则:
1. 命名中无需含有表示变量或参数类型的单词
2. 省略命名中不是用来消除歧义的单词
3. 省略命名中可以从上下文获取的单词
4. 省略命名中无任何含义的单词
总结同类编程语言或项目在代码规范和风格的一般要求
1 前言
HTML 作为描述网页结构的超文本标记语言,在百度一直有着广泛的应用。本文档的目标是使 HTML 代码风格保持一致,容易被理解和被维护。
2 代码风格
2.1 缩进与换行
[强制] 使用
4
个空格做为一个缩进层级,不允许使用2
个空格 或tab
字符。2.2 命名
[强制]
class
必须单词全字母小写,单词间以-
分隔。[强制]
class
必须代表相应模块或部件的内容或功能,不得以样式信息进行命名。[强制] 元素
id
必须保证页面唯一。解释:
同一个页面中,不同的元素包含相同的
id
,不符合id
的属性含义。并且使用document.getElementById
时可能导致难以追查的问题。2.3 标签
[强制] 标签名必须使用小写字母。
强制] 对于无需自闭合的标签,不允许自闭合。
-
-
-