首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么谷歌要执行严格的代码编写规范

原文出处: Mark CC 译文出处:外刊IT评论 本文是《Google是如何做代码审查的?》的续篇 我们在谷歌所做事情中另外一个让我感到异常有效、有用的制度是严格的编码规范。...为什么我要浪费时间遵守这些愚蠢的规范?答案是:统一是有价值的。...你只需要花这么少的功夫就能看懂一个你不熟悉(或完全未见过)的程序,因为你一见它们就会觉得面熟。 我是个艺术家! 这种话很滑稽,但它反映了一种常见的抱怨。我们程序员对于自己的编码风格通常怀有很高的自负。...我写出的的代码的确能反映出我的一些特质,它是我思考的一种体现。它是我的技能和创造力的印证。如果你强迫我遵守什么愚蠢的规范,这是在打压我的创造力。...但是,根据我的经验,在一个大型公司里,你最好有一个统一的编码规范,特定项目可以扩展自己特定的项目方言和结构。 我善长制定编码规范! 这应该是最常见的抱怨类型了。

98870

这是中国为什么投资印尼的原因

两件事:电子商务和O2O 作为拥有2.3亿人口的市场,印尼电子商务领域的巨大潜力已经吸引了投资者,商业界人士和政府部门的注意。 电子商务领域的发展会促进相关行业的发展,比如电子支付行业。...根据印尼互联网商业先驱Shinta Dhanuwardoyo,公众对各种各样的金融服务有很强的需求,前提是要有可靠的工具。...虽然,没有更多的细节,但路线图中的一个亮点是投资负面清单的消失。外国人将有机会获得当地电子商务公司100%的所有权,但仍对大公司有限制。...随着有机会完全拥有当地的电子商务企业,中国创业者有更大的可能来合并,并购或与当地优势企业合资。 大量具有创造性,渴望成长且拥有当地知识的大量人才。像日惹这样的城市已经成为人才开发特区的同义词。...但是大门已经开启,你的成功始于你进入的决心。

3.3K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JSHint的选项配置笔记

    arguments.callee指向当前执行的函数(这个在ES5的严格模式中被禁用了),而arguments.caller指向调用当前函数的函数(如果有的话),并且,他并不是在所有的Javascript...nomen 如果为真,JSHint会禁用下划线的变量名。 很多人使用_name的方式来命名他们的变量,以说明这是一个私有变量,但实际上,并不是,下划线只是做了一个标识。...strict 如果为真,JSHint会要求你使用use strict;语法。 Strict 模式是ES5里面的一个新特性,他允许你把一个程序或者函数放在一个“严格”的作用域中。...可见Resig写的一篇关于严格模式的blog 严格模式做了几件事情: 1、他可以捕获一些错误和异常 2、当我们进行一下“不安全”的操作时,他会抛异常,例如访问全局变量。...3、他会禁止你使用一些奇淫技巧,或者不良的代码编写。 white 如果为true,JSHint会依据严格的空白规范检查你的代码。

    98290

    Apache Kyuubi PPMC 燕青:为什么说这是开源最好的时代?

    不过对于用户而言,平台的技术门槛始终是个不小的挑战。也正因如此,不少项目选择直接建立在 Spark 之上,通过将平台的能力统合,并引入新的特性,从而降低用户使用门槛,实现大数据价值的最大化。...这是 Spark 社区现有的、基于 HiveServer2 实现的 Thrift 服务,旨在无缝兼容 HiveServer2。 虽然 STS 的性能极佳,但当前并不完善,尤其在企业场景下存在较多短板。...5“这是开源最好的时代” 除了是 Apache Kyuubi 的作者,燕青还有多个身份,比如 Apache Spark Committer、Apache Submarine Committer。...当前,虽然国内开源发展存在进步与乱象并生,机遇与挑战共存的状态,但燕青坚信“这是开源最好的时代”。...字节教育约九成员工被裁,赔偿N+2;王思聪砸百万元组装服务器,跑分全球第4;调查:Clojure语言最赚钱  | Q资讯 XML之父:不对代码做测试就像“上完厕所不洗手” 为什么软件工程师出身的CEO

    43931

    为什么实时分析既需要NoSQL的灵活性,又需要SQL系统的严格模式?

    最重要的是,严格的模式可以防止由不良或不匹配的数据造成的查询错误。 然而,严格的、一成不变的模式在今天有着巨大的弊端。首先,现在的数据来源和类型比90年代多得多。...虽然查找和简单的查询可以是快速和简单的,但复杂的嵌套的和必须返回精确答案的查询往往运行缓慢,而且难以创建。这是由于缺乏SQL支持,以及他们倾向于对索引和其他查询优化的支持不力。...复杂的查询甚至更有可能超时而不返回结果,这是因为NoSQL的过于宽松的数据一致性模型。修复和重新运行查询是一件浪费时间的麻烦事。而当涉及到云计算和开发人员时,这意味着浪费金钱。...然而,在查询时,Blobs需要首先被反序列化,这是一个缓慢而低效的过程。 或者采取亚马逊DynamoDB为例,它使用的是无模式的键值存储。DynamoDB在读取特定记录时速度超快。...但与SQL关系型数据库一样,Rockset也有严格的模式优势。

    54910

    为什么要学数学?因为这是一场战略性的投资

    为什么要花这么多时间来学习数学?又为什么一定要努力学好数学呢?...因此,这个看来似乎很平凡的问题其实很值得大家认真地想一想。 01 数学的影响和作用可以说是无处不在的 要搞清为什么要学好数学,首先要认识数学这门学科本身的重要性。...数学是一门重思考与理解、重严格的训练、充满创造性的科学,只有掌握了数学的思想方法和精神实质,才能由不多的几个公式演绎出千变万化的生动结论,显示出无穷无尽的威力。...我认为,这是很值得引起大家重视的经验之谈。 实际上,通过认真的数学学习和严格的数学训练,可以使学生具备一些特有的素质和能力。...数学上追求的是最有用(广泛)的结论、最少的条件(代价)以及最简明的证明,通过严格的数学训练,会逐步形成精益求精、力求尽善尽美的习惯和风格。

    1.1K30

    Objective-C 中的点符号一定是恶魔吗?

    本文是Objective-C 中的代码气味系列文章中的一篇。* ......是的,这是夸张的说法。在有点符号的项目中,我确实能与点符号共存。但我不会自己写。...Objective-C 是 C 语言的严格超集,因此所有这些也适用于 Objective-C 代码。或者不适用。......你说不清楚,对吧?...但为什么呢?"因为数组不是属性,而是方法"。哦,所以用括号还是用点取决于这个东西是不是属性?但不管用哪种方式,都是传递消息!为什么还要添加第二种消息传递语法呢?...,让信息更明确: [[[foo bar] baz] setQux:10]; 那些抱怨方括号符号 "看起来怪怪的 "的人,会举出这样的例子来说明方括号符号有多难读。...但现在,圆点符号可以让你继续使用这种臭烘烘的违规行为,而且看起来还不错! 轮到你了! 由于我看到的几乎所有 Objective-C 代码都使用点符号,我意识到自己在逆流而行。

    10910

    Developer - 如何自我保证Node.js模块质量

    在做SaaS项目之前,组里的开发模式是传统的Deverloper + QA的模式,这是传统的协作模式,Developer负责写代码开发,当然也会有基本的自测,QA负责测试,遇到问题,提Bug给Developer...JSHint - 一款Javascript代码分析工具    这个工具很常用,每次写完Javascript的代码,就可以通过这个工具来扫描下代码,如果有错误(Error)或者警告(Warning)提示,...同时JSHint提供对文本编辑器插件的各种支持,像我用的Vim就配置了JSHint,每次开发完,直接输入命令:JSHint,很好用,推荐。    ...同时建议在Javascript代码文件首行增加"user strict;",这样是默认使用严格模式,更安全,更严谨。例如下例。...//jshint.com/ 目前根据自己的经验,只总结出以上三点。

    90880

    web系统性能及规范检测笔记

    糟粕特性检查: 比如with、void语句等不推荐使用的问题。 最初的JSLint由于规则严格不妥协和拒绝开源等问题,受到一些诟病。...JSLint https://github.com/douglascrockford/JSLint JSHint JSHint是Anton Kovalyov基于JSLint实现的一个开源工具。...相对于JSLint来说,JSHint稍微友好一些,可配置性更高。也是现在web开发者使用最多的静态检查工具之一。...将增强参数设置为true,则JSHint会检查规则更严格,在某些情况下会产生更多告警;同理,将松弛参数设置为true,则JSHint会检查规则更友好,在某些情况下会产生的告警更少。...函数执行监控 这是一对函数,监控开始 console.profile(tag) 和 监控结束 console.profileEnd()。

    1.1K60

    为什么要学数学?因为这是一场战略性的投资

    以传授与学习数学知识为载体,通过严格认真的数学学习和训练,可以使学生具备一些特有的素质和能力。...>>>> 对绝大多数人来说,数学是一生中学得最多的一门课程:从小学到中学,从中学到大学,包括到了研究生的学习阶段,都在学习数学。为什么要花这么多时间来学习数学?又为什么一定要努力学好数学呢?...这是现在的人们从小就知道的事实,似乎是天经地义的。 然而,这却经历了一个漫长的历史进程,是数学给人类文明带来的一个不可磨灭的巨大贡献。...我认为,这是很值得引起大家重视的经验之谈。 实际上,通过认真的数学学习和严格的数学训练,可以使学生具备一些特有的素质和能力。...这些素质和能力是其他课程的学习和其他方面的实践所无法替代或难以达到的,而且,即使所学的数学知识已经淡忘(这是经常发生的情况!)

    53460

    为什么要学数学?因为这是一场战略性的投资

    为什么要花这么多时间来学习数学?又为什么一定要努力学好数学呢?...因此,这个看来似乎很平凡的问题其实很值得大家认真地想一想。 01 数学的影响和作用可以说是无处不在的 要搞清为什么要学好数学,首先要认识数学这门学科本身的重要性。...数学是一门重思考与理解、重严格的训练、充满创造性的科学,只有掌握了数学的思想方法和精神实质,才能由不多的几个公式演绎出千变万化的生动结论,显示出无穷无尽的威力。...我认为,这是很值得引起大家重视的经验之谈。 实际上,通过认真的数学学习和严格的数学训练,可以使学生具备一些特有的素质和能力。...数学上追求的是最有用(广泛)的结论、最少的条件(代价)以及最简明的证明,通过严格的数学训练,会逐步形成精益求精、力求尽善尽美的习惯和风格。

    37510

    web系统性能及规范检测笔记

    糟粕特性检查: 比如with、void语句等不推荐使用的问题。 最初的JSLint由于规则严格不妥协和拒绝开源等问题,受到一些诟病。...JSLint https://github.com/douglascrockford/JSLint JSHint JSHint是Anton Kovalyov基于JSLint实现的一个开源工具。...相对于JSLint来说,JSHint稍微友好一些,可配置性更高。也是现在web开发者使用最多的静态检查工具之一。...将增强参数设置为true,则JSHint会检查规则更严格,在某些情况下会产生更多告警;同理,将松弛参数设置为true,则JSHint会检查规则更友好,在某些情况下会产生的告警更少。...函数执行监控 这是一对函数,监控开始 console.profile(tag) 和 监控结束 console.profileEnd()。

    77520

    7 个令人惊讶的 JavaScript “特性”

    在过去的几个月里,我对 JSHint 做了一些改进,主要是,学习 ES6(我最自豪的是重新实现了变量作用域)的过程中我碰到了几个特性,它们让我惊讶,其中大部分是关于 ES6 的特性但也有一部分是 ES3...从任何一个代码块中 break 你应该已经知道你可以从任意循环中 break 和 continue —— 这是一个相当标准的程序设计语言结构。...你在 switch 语句中肯定见过 break: switch(i) { case 1: break; } 顺便说一句,这是为什么 Crockford 建议你的 case 不应该缩进...而如果是使用 var 语句声明的,那么它就是可用的,但是 JSHint 会给出一个警告,而如果它没有被声明,那么它使用全局作用域,JSHint 可能会有另外一种警告。...看一下 map 的 polyfill 实现,它循环每一个元素(这是为什么 index 是正确的),但是它使用的是 in 来检查一个属性是否被设置。你如果使用数组直接量,也会得到同样的结果。

    43420

    JSON中不能加注释

    于是查资料,为什么不能在JSON数据中添加注释?最终找到源头。   来自Javascript大神Douglas Crockford的答案,从Google+中获得: ?   ...原来JSON中不能有注释的原因,是他注意到很多人利用注释来制定解析规则,这破坏了互操作性(Interoperability)。因此大神将其剔除。   ...链接:https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr   但其实有些不严格的JSON解析器还是支持注释的,例如我将加过注释的...JSON文件用Javascript解析器JSHint来扫描(Vim版插件),以及用在线JSON解析来解析,也都没有问题。...这也是为什么我Debug很久才在同事的提醒下找到原因。   下次谨记。   Kevin Song,2015年3月18日

    2.9K70

    JSLint,JSHint,ESLint对比

    JSHint JSHint是由Anton Kovalyov基于JSLint的代码实现的开源项目,由于JSLint时期大多数人都在受JSLint压迫,JSHint相比较之下,更友好,也更容易配置,所以很快就发展了起来...在这里还要提一点,ESLint最初并不是为了造一个重复的轮子,而是作者在实际使用中的需求没有能得到JSHint团队的回应,所以他就结合当时的JSHint和另一个代码风格的检查工具JSCS写出来了现在具备代码风格检查...JSLint,JSHint和ESLint的对比 这三个工具各有特色,我只是做一下对比,选择的话,看个人需求就好了。 JSLint 优点 配置是老道已经定好的,开箱即用。...不足 有限的配置选项,很多规则不能禁用 规范严格,凡是不符合老道所认为的好的风格的,都会有警告(这一项就看你是否完全认同老道了) 扩展性差 无法根据错误定位到对应的规则 JSHint 优点 有了很多参数可以配置...的Vim配置 安装jshint sudo npm install jshint -g 在vimrc中添加如下配置 let g:syntastic_javascript_checkers = ['jshint

    4K31

    很多人知道外包的种种不好,但还是选择去外包,这是为什么呢?

    最直接的区别,三方外包的合同都是与独立的第三方人力资源公司签署,二方外包的合同是与目标公司的关联公司(多为控股子公司)签署。 这里直接举个例子吧。 假设我是一个即将成为盒马外包的开发人员。...搞清楚了外包员工与目标公司的关系(合同关系),自然就清楚了同样是外包,为什么二方比三方有着更好的待遇&机会。...所以,外包是可以实现薪资的大幅提升的一种方式。 c.学习机会 很多人知道外包的种种不好,但还是选择去外包,这是为什么呢?...不过,随着二方员工的权限抵达边界、上升渠道卡死,以及最重要的一二级主管离去,我也在近两年的工作后后选择离开。 所以,外包是可以有学习机会的,但取决于所在的团队。...c.温水煮青蛙 很多人都知道外包工作不是最终归宿,为什么还有那么多人一条路走到黑,最后黯然离开? 答案很简单,就是 温水煮青蛙 。 一方面,外包的工作往往两极分化,要么一堆碎片化事情,要么无所事事。

    1.5K10

    使用 Make 构建网站

    (题图:国家考古博物馆,西班牙,摄于2014年8月) 一、Make的优点 首先解释一下,为什么要用Make。 目前,网站项目(尤其是Node.js项目)有三种构建方案。...比如,grunt-contrib-jshint插件现在是0.11.0版,对应Grunt 0.4.5版和JSHint 2.6.0版。...万一Grunt和JSHint升级,而插件没有升级,就有可能出现兼容性问题。Make是直接调用JSHint,不存在这个问题。...这是因为(当前项目的)node模块,会在 nodemodules/.bin 目录设置一个符号链接。PATH变量指向这个目录以后,调用各种命令就不用写路径了。...比如,调用JSHint,就不用写 ~/node_modules/.bin/jshint ,只写 jshint 就行了。 SHELL变量指定构建环境使用BASH。

    3.2K40

    互联网大厂的服务器不是在山洞里就是湖底、海底。这是为什么?

    上述就是一些大厂服务器存放的地方,不知道大家有没有发现这些大厂对于服务器的存放位置走的都不是寻常路,放的位置也是奇奇怪怪的,有放在山洞里的,有放在海底的,有放在湖底的,为什么他们要把服务器建造这些地方呢...、卡顿严重的话甚至会出现宕机等现象,所以散热问题是服务器面临的一大考验,而山洞里、海底、湖底这些地方是天然的有利于散热的场所。...2、可以节能,减少碳排放 看完第一点可能有的人会想,为什么就一定得放到这些地方,用空调对着吹不就可以了吗?...服务器体量庞大,想要达到非常好的降温散热效果,就必须装大量的空调,而这些都需要大量的成本,其次在给服务器降温的时候,空调也在消耗非常大量的电,从而消耗大量的煤炭等资源,(当下主流还是火力发电)进而造成大量的碳排放破坏环境...对此,大家觉得大厂的服务器中心怎么解决散热问题才是最好的呢?

    4.5K30
    领券