支付最佳实践手册,谷歌(Google)之类集团的代码品质怎么

Gumbo:Google推出纯C编写的HTML5解析器

2013/08/15 · HTML5 · 1
评论 ·
HTML5

本文由 伯乐在线 –
黄利民
翻译。未经许可,禁止转载!
英文出处:gumbo。欢迎参加翻译组。

Gumbo是一个 HTML5 解析算法完毕,只用 C99
标准库编码完成,没有任何外部依赖。其安顿目的是为其余工具和库的开发提供帮助,那些工具和库包括linters(JS检查器)、验证器、模板语言以及重构和分析工具。

 

本文由 伯乐在线 –
黄利民
翻译。未经许可,禁止转载!
英文出处:gumbo。欢迎到场翻译组。

本文由 伯乐在线 –
黄利民
翻译。未经许可,禁止转发!
英文出处:web
fundamentals。欢迎加入翻译组。

本文由 支付最佳实践手册,谷歌(Google)之类集团的代码品质怎么。伯乐在线 –
黄利民
翻译。未经许可,禁止转发!
英文出处:quora。欢迎出席翻译组。

Gumbo 的靶子和特性:

  • 完全符合 HTML5
    规范
  • 对错误输入有健壮性和弹性
  • 美高梅开户网址 ,概括的API,易于其余语言封装
  • 援助对源文件定位
  • 相对轻量级,无外部依赖
  • 因此装有
    html5lib-0.95 测试
  • 在跨越25亿的谷歌索引页面上测试过

 

Gumbo是一个 HTML5 解析算法达成,只用 C99
标准库编码落成,没有其它外部依赖。其设计目的是为其余工具和库的付出提供协理,那一个工具和库包罗linters(JS检查器)、验证器、模板语言以及重构和分析工具。

【导读】:并不是具有平台都协助所有的摄像格式,检查一下主流平台所援救的视频格式,并且有限帮忙您的视频在这个主流平哈博罗内都可以运作。

那是  Quora
网友的一个咨询,他还补充说:“我日常在想,像谷歌(Google)那样的店堂,它们的代码质量怎样呢?按照自家在三个大公司的行事经验来说,我感觉到代码品质和商家年龄成反比。”
上边是伯乐在线摘编了两位网友的还原:一位是谷歌的程序员,另一位是谷歌前员工。

非目标:

  • 施行进程。因为Gumbo是纯C编写,所以速度上有优势。就算那样,但那并不是在拟定用途下的第一考量,也不是非同儿戏设计元素。
  • 援救 UTF-8
    以外的编码。在半数以上场所下,处理客户端代码此前,可以用别的的库将输入流转换为UTF-8的公文。
  • 协助 C89 标准。近期半数以上第一的编译器都帮忙C99,主要的特例(
    Microsoft Visual Studio)应该可以在C++形式下编译,须求细微调整。
    (欢迎报告错误)。

 

 

在本篇课程中:

  1. 检测所协理的摄像格式
  2. 浮动三种格式的视频
  3. 检测所采取的视频格式

Google 程序员 Jeremy Hoffman 的回复:

自身没有怎么去比对过,但自身以为谷歌(Google)的代码品质是越发高的。谷歌(Google)的软件工程文化是原因之一(感谢 Kevin
X Chang 给建议):

  • 代码审查。在你提交任何代码改动此前,你得找去代码“主人”签字认同。为了完毕,评审者(被鼓励去)指出大修代码,而不是让它成为有史以来没有通过思考的“图章”代码。
  • 按语言可读性必要百折不回代码风格指南(请参考那里)。除了让我们代码有联合的外观(所以大家能快速认出方法、成员等),大家的品格指南禁止了一部分参差不齐、混乱、易出错的
    C++ 特性(比如:class 类型的静态和全局变量)。
  • 漫天集体都致力于提供大家代码库的身分,维护我们的为主库,不断给大家做更好的工具。
  • 一个活跃的“代码健康”课题组。
  • 公布软件时,不对外部期限负有任务。相似而言,那让我们得以正确做事,而非为了期限把东西拼凑起来。
  • “Fixits.” 比如,一个工程师或许说,“我认为大家真应该别再用老一套的 
    CruftMap 类(class)了。我打算在 1 月 20 日协会四遍 Fixit。” 当 1 月
    20 日来临时,大家应该暂停其常规运转,把他们代码中的 CruftMaps
    都换掉。在 1 月 21 日,谷歌(Google) 就永远和 CruftMap
    说拜拜了!但是方今,宗旨库团队曾经很可观了,貌似没有啥东西可再值得类似的
    fixit 了。
  • 测试文化。单元测试覆盖率可能类似
    100%,大家有持续打造/整合/测试,还有知名的 “Testing on the Toilet”
    (请参见Google Testing Blog)

题主是想谈谈代码年龄和代码品质之间的非正比关联,这一现象程序员有时戏称为“位腐”。谷歌(Google)肯定也有。不是此处就是那里,你会发觉谷歌早期的代码被孤立了(不是工程师的龙精虎猛工作目标了,或没人熟稔了),但它们还在。我曾因为不得不和局地遗留代码打交道,曾经一贯感受过失落。就自身个人经历来看,我觉得,在谷歌火速扩展的一段时间内,如此少量的工程师达成了成百上千风味,那阶段中的有些代码,不可能托起大家多年来代码质量标准。

译注:“Bit rot”约等于“ Software
rot”,意指软件质量随着年华而向下,或者因条件变迁而失势。(维基百科)

但从微观角度来说,我其实认为谷歌的代码品质是随着时光在增强,原因就是自家下面所说的。

 

将来或许加入的片段特性:

  • 协理近日HTML5正规变动从而援救模板标签
  • 接济分段分析
  • 全职能错误报告机制
  • 与其余语言绑定

 

什么样设置Gumbo 及其用例,请查看 Gumbo的 Github
主页:

打赏帮忙自己翻译越多好作品,谢谢!

打赏译者

Gumbo 的靶子和特性:

  • 完全符合 HTML5
    规范
  • 对错误输入有健壮性和弹性
  • 简单的讲的API,易于其余语言封装
  • 支持对源文件定位
  • 相持轻量级,无外部看重
  • 因此装有
    html5lib-0.95 测试
  • 在超过25亿的谷歌(谷歌)索引页面上测试过

 

所支撑的摄像格式

使用 canPlayType() 可找出所支撑的视频格式。该方法有一个由
mime-type 和可选的解码器组成的字符串变量,重返上面那个值:

返回值 描述
(空字符串) 不支持容器和/或解码器。
maybe 或许支持容器和解码器,但浏览器将需要下载一些视频来验证。
probably 显然支持该格式。

Here are some examples of canPlayType() arguments and return values
when run in Chrome:
此处有些范例, canPlayType() 的参数和在Chrome运行时的重返值:

类型 返回值
video/xyz (空字符串)
video/xyz; codecs="avc1.42E01E, mp4a.40.2" (空字符串)
video/xyz; codecs="nonsense, noise" (空字符串)
video/mp4; codecs="avc1.42E01E, mp4a.40.2" probably
video/webm maybe
video/webm; codecs="vp8, vorbis" probably

Googe 前员工 Dima Korolev 的回复:

从前自己在谷歌时常抱怨。

不过,在看过微软、Facebook和一部分最初创业集团朋友写的代码后,我喜欢确认了,谷歌(Google)的代码质量真正相当高。保持代码高质量的法门并不连续great。工程师的情态也并不总是
great。被奖励和肯定的程序员,也并不连续什么喜欢更洁净代码的人。但不知缘何,它奏效了,至少之前是立见成效了。

事实上,在我离开谷歌(Google)多年后,人们常抱怨自己在保安代码标准方面有点过于严格。我不确定这和谷歌有多大关系,但毫无疑问有提到。过一段时间后,会有人学习了解那些代码为何不长久,它们能如何改正,应当怎么样创新。:)

打赏协理我翻译更加多好小说,谢谢!

打赏译者

打赏支持我翻译越来越多好文章,谢谢!

任选一种支付情势

美高梅开户网址 1
美高梅开户网址 2

赞 收藏 1
评论

非目标:

  • 施行进程。因为Gumbo是纯C编写,所以速度上有优势。即便这么,但那并不是在拟定用途下的基本点考量,也不是必不可缺设计元素。
  • 匡助 UTF-8
    以外的编码。在一大半情景下,处理客户端代码此前,可以用别的的库将输入流转换为UTF-8的公文。
  • 帮衬 C89 标准。近来多数第一的编译器都扶助C99,紧要的特例(
    Microsoft Visual Studio)应该可以在C++形式下编译,须求细微调整。
    (欢迎报告错误)。

 

浮动三种格式的摄像

有为数不少工具得以把同一摄像保存为别的格式:

  • 桌面工具: FFmpeg
  • GUI
    应用程序:Miro、HandBrake、VLC
  • 在线编码/转码服务:Zencoder、Amazon
    Elastic Encoder

打赏帮忙自己翻译越来越多好文章,谢谢!

任选一种支付情势

美高梅开户网址 3
美高梅开户网址 4

赞 1 收藏
评论

关于小编:黄利民

美高梅开户网址 5

伯乐在线联合发起人,关切 IT
和网络。
个人主页 ·
我的小说 ·
99 ·
 

美高梅开户网址 6

将来或许投入的部分特性:

  • 支撑近来HTML5正经变动从而扶助模板标签
  • 协理分段分析
  • 专职能错误报告机制
  • 与其它语言绑定

 

怎么着设置Gumbo 及其用例,请查看 Gumbo的 Github
主页:

打赏协理我翻译更加多好小说,谢谢!

打赏译者

检测所选拔的视频格式

想清楚浏览器实际帮衬什么视频格式么?

在 JavaScript 中,使用摄像的  currentSrc 属性,可回到所运用的源。

想看这几个操作的话,可以查看那个示例:Chrome
和 Firefox
选用 chrome.webm(因为它是那四个浏览器所支撑的摄像格式列表的首先个条款),而
Safari 拔取 chrome.mp4

打赏援助自己翻译更加多好文章,谢谢!

打赏译者

至于作者:黄利民

美高梅开户网址 7

伯乐在线联合发起人,关心 IT
和网络。
个人主页 ·
我的篇章 ·
97 ·
 

打赏帮助自己翻译愈来愈多好小说,谢谢!

任选一种支付方式

美高梅开户网址 8
美高梅开户网址 9

赞 收藏 1
评论

打赏匡助自己翻译越来越多好文章,谢谢!

任选一种支付方式

美高梅开户网址 10
美高梅开户网址 11

赞 收藏
评论

至于小编:黄利民

美高梅开户网址 12

伯乐在线联合发起人,关怀 IT
和网络。
个人主页 ·
我的篇章 ·
97 ·
 

至于小编:黄利民

美高梅开户网址 13

伯乐在线联合发起人,关怀 IT
和网络。
个人主页 ·
我的篇章 ·
97 ·
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图