设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

UC:我们是怎么做出Chromium M35内核浏览器

2014-7-25 09:00| 发布者: joejoe0332| 查看: 4120| 评论: 0|原作者: 36kr.com|来自: 36kr.com

摘要: 本文来自{敏感词}电脑版技术负责人李云,微博@至简李云,详细叙述了自己和团队是如何将浏览器内核从Chromium M32,升级到Chromium M35的过程,对相关技术感兴趣的读者可以和他交流。 ...


  在快速跟进 Chromium 项目中我们走过的一些弯路


  其实,在从事浏览器电脑版的开发历程中,我们也走了一些技术弯路。这些弯路,使我们非常苦逼的停留了一段时间,但也让我们实现了质的突破。在此我想分享几则:


  首先,最大的一个弯路在于忽视 Chromium 的软件架构。结果使得工程师在修改代码和增加文件时很混乱,程序的可维护性很差。这一痛苦经历让团队深刻地认识到维护清晰的软件架构有多重要。目前整个团队在日常工作中都非常重视这一点,对这类问题的敏感度很高。


  另一个弯路体现在我们之前的做事方法上。在进行软件功能开发时,工程师以前很容易一拿到需求就根据自己的理解立马上手开干,以至于做了不少“重新发 明轮子”的事。后来我们发现,开发新功能所需的不少基础模块 Chromium 中已有,于是我们在 UC 浏览器电脑版 1.0 版的开发过程中不断地将“自己发明的轮子”给去除,用 Chromium 项目中现成的取而代之。


  我们团队现在养成的习惯是先看一看 Chromium 中是否存在可复用的部分,之后再干。这种做事方法表面上看起来慢了,因为要花时间去学习和研究,但长远看来利大于弊,除了通过该方法能不断加深对 Chromium 项目的熟悉外,所编写出的代码更容易升级至新内核。


  最后我想分享的一个弯路是软件设计的解耦方法。我们以前所采用的解耦方法一是很难规范化,二是难以与 Chromium 的新内核进行合并。现在的解耦方法除了规范化很容易做到外,使得在合并代码过程中对于各冲突点总是存在“明亮的灯塔”在指引。


  实际上,我们所采用的解耦方法很简单,用一句话总结是“无论在 Chromium 之上是增加、调整或去除功能,我们在代码层面总是做加法”。这句话不好理解,但我也只能透露到这个层面。


  我的角色转变及对技术管理的一些看法


  过去的日子,我个人也在这个项目上也完成了一些角色转变。我当初应聘阿里巴巴时,在简历上写的是希望将来成为互联网行业的技术专家,当时杨过面试我时问了一个问题——“如果需要你做管理怎么办?”我当时回答说:“只要能更大程度地发挥自己的作用就会考虑”。


  加入淘宝浏览器团队之初,虽没有定义我的管理角色,但一开始我就有意识主动承担部分技术管理工作,只是当时给自己的定位是架构师。如今,我在团队中官方地正式承担管理责任,这完全是因为团队的需要,因为这能从更大层面发挥我的影响力。


  技术管理工作有不少琐碎的事,使得工作时间被更多地碎片化了。在我看来,要做好基层技术管理工作必须对技术细节有很好的掌握,否则难以发挥管理效能。另外,只有了解技术细节,才能更好地理解工程师的开发工作,否则很容易犯那种一谈技术就说“这个实现起来很简单”的毛病。


  对于我来说,掌握技术细节是了解和欣赏工程师的关键途径。最近我在做 Chromium M36 的内核升级工作时碰到一个问题,在解决它的过程中发现我们团队的小盘同学在之前己解决,而且他实现的技术方案极其简单,简单到只需注释掉 grit 工具中的一行代码就实现了一个很重要的功能。我一了解这一细节后,立马起身走到他的工位上,告诉他这个技术方案真的很精彩!


  如果不是因为我关注技术细节,光从他最终只改了一行代码就很可能得出“这个实现很简单”这一结论,这种片面结论除了抹杀他在被后可能花了数小时研究最优方案的努力外,更让我失去了一次欣赏他的机会。


  作为一名还算资深的工程师,我深深地知道真正能培养出好工程师的方法不是采用股票、工资就能实现,也不是给他们“打鸡血”,而是让他们在工作中体会 到成就感、在专业水准上不断有进步,从管理层面理解和欣赏他们是非常关键的一环。正因如此,我在整个开发团队中明确规定,基层技术管理者必须在工作中持续 地有技术贡献。


  做技术管理最大的乐趣在于看到团队在不断地进步、感受到大家对自己的信任、听到自己的理念被他们用于讨论问题、看到自己的工作方法在发挥作用,这种 感觉真的很棒、很享受,一点都不比解决技术难题所带来的“爽”逊色。当然,过程中也会碰到困难和压力,但在这种相互欣赏与理解的团队氛围中能得到克服。


  作为技术管理者,我认为身上最重的担子是责任。我衷心地希望工程师在这个团队中能不断地进步,这样在以后职业生涯中无论他们在哪一个团队都更具竞争 力。要实现这样的目标,一定需要技术管理者在工作中不断地为他们的成长提供环境和给予帮助,这也促使我在工作中不断地有所作为。


稿源:http://www.36kr.com/p/214068.html

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部