Google C++规范

从微博中得知,Google的C++编码规范已经公开了,具体链接在http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

虽然已经几年不用C++做生产编码了,看起来依然这么亲切,有国内的同学已经译成了中文,幸事!http://yangyubo.com/google-cpp-styleguide/

规范有时候和性能是一致的,有时候是敌对的,平衡点很重要。

例如,在Web前端优化中,代码精简是重要的一环。开发人员以清晰可读的规范编写了代码,然后通过精简工具部署到web服务器中,浏览器最后收到的http响应中都是精简或者混淆之后的代码,可读性极差。当然,这种可读性极差的代码可以显著缩小传输文件的规模,提高web性能。开发人员还可能处于安全的考虑,对代码精简混淆,不希望用户看到页面的脚本。

示例,Google首页的第一段脚本(经过了换行和空格整理):  

window.google={
kEI:
"8yVvTeObBMqtrAe879z_Dg",kEXPI:"27754,29013,29054",
kCSI:{e:
"27754,29013,29054",ei:"8yVvTeObBMqtrAe879z_Dg",
expi:
"27754,29013,29054"},
ml:
function(){},
kHL:
"zh-CN",
time:
function(){
return(new Date).getTime()},
log:
function(c,d, b){
var a=new Image,e=google,g=e.lc,f=e.li;
a.onerror
=(a.onload=(a.onabort=function(){delete g[f]}));
g[f]
=a;b=b||"/gen_204?atyp=i&ct="+c+"&cad="+d+"&zx="+google.time();
a.src
=b;e.li=f+1},
lc:[],
li:
0,
Toolbelt:{}
};
window.google.sn
="webhp";
var i=window.google.timers={};
window.google.startTick
=function(a,b){
i[a]
={t:{start:(new Date).getTime()},bfr:!(!b)}
};
window.google.tick
=function(a,b,c){
if(!i[a])google.startTick(a);
i[a].t[b]
=c||(new Date).getTime()
};
google.startTick(
"load",true);
try{
window.google.pt
=window.external&&window.external.pageT;
}
catch(v){}
window.google.jsrt_kill
=1;
var _gjwl=location;
function _gjuc(){
var b=_gjwl.href.indexOf("#");
if(b>=0){var a=_gjwl.href.substring(b+1);
if(/(^|&)q=/.test(a)&&a.indexOf("#")==-1&&!/(^|&)cad=h($|&)/.test(a)){
_gjwl.replace(
"/search?"+a.replace(/(^|&)fp=[^&]*/g,"")+"&cad=h");
return 1
}
}
return 0
}
function _gjp(){
!(window._gjwl.hash&&window._gjuc())&&setTimeout(_gjp,500)
};
window._gjp
&& _gjp()

posted on 2011-03-08 09:39  TylerCui  阅读(1307)  评论(0编辑  收藏  举报

导航