【亚洲必赢官网】开发最佳实践手册,谷歌之类公司的代码质地怎么

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

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

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

Gumbo是一个 HTML5 解析算法完毕,只用 C99
标准库编码已毕,没有任何外部信赖。其设计目的是为其余工具和库的费用提供辅助,这个工具和库包罗linters(JS检查器)、验证器、模板语言以及重构和分析工具。

 

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

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

本文由 伯乐在线 –
黄利民
翻译。未经许可,禁止转载!
英文出处:quora【亚洲必赢官网】开发最佳实践手册,谷歌之类公司的代码质地怎么。。欢迎参加翻译组。

Gumbo 的靶子和特征:

  • 完全符合 HTML5
    规范
  • 对不当输入有健壮性和弹性
  • 简易的API,易于其他语言封装
  • 帮助对源文件定位
  • 相对轻量级,无外部信赖
  • 透过具有
    html5lib-0.95 测试
  • 在跨越25亿的谷歌(谷歌(Google))索引页面上测试过

 

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肯定也有。不是此处就是那里,你会意识谷歌(Google)早期的代码被孤立了(不是工程师的活跃工作目标了,或没人熟知了),但它们还在。我曾因为不得不和一些残存代码打交道,曾经一直感受过消沉。就自己个人经历来看,我以为,在谷歌飞快壮大的一段时间内,如此少量的工程师落成了累累特征,这阶段中的有些代码,不可以托起大家多年来代码质量标准。

译注:“Bit rot”相当于“ Software
rot”,意指软件性能随着年华而后退,或者因条件变化而失势。(维基百科)

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

 

前途也许加入的部分特征:

  • 接济方今HTML5业内变动从而帮忙模板标签
  • 帮衬分段分析
  • 专职能错误报告机制
  • 与其他语言绑定

 

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

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

打赏译者

Gumbo 的目的和特征:

  • 完全符合 HTML5
    规范
  • 对不当输入有健壮性和弹性
  • 简短的API,易于其他语言封装
  • 支撑对源文件定位
  • 相对轻量级,无外部看重
  • 透过具有
    html5lib-0.95 测试
  • 在超过25亿的谷歌(谷歌(Google))索引页面上测试过

 

所支撑的视频格式

使用 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 的回复:

事先自己在谷歌时常抱怨。

亚洲必赢官网 ,不过,在看过微软、非死不可和有些早期创业公司朋友写的代码后,我如获至宝确认了,谷歌的代码品质着实充足高。保持代码高质地的点子并不总是
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地图