与GitHub工程师的简短交流

2013-05-09 18:19:15

 2013年4月24日晚上,托QCon的福在贝塔咖啡有幸见到了GitHub的两位工程师,Ted Nyman(@tnm)和Jesse Newland(@jnewland)。在这期间我零散地问了两位工程师几个问题,准备的不充分,没问太具体的语言编码问题,随机的问了点儿感兴趣的问题。

对于过大pull request如何更好处理

因为项目进行中经常出现功能独立,且包含代码非常多的情况,这时提交的pull request,代码审查很不好做,因为代码非常多,看不过来。我见过最大的近千个commits,上百diffs的pull request。 Jesse的建议是应该优化流程,拆解成小的任务分别提交最终合并成一个大merge来提交。 看起来就是这种司令官与副官工作流

关于提交pull request的最佳时机,是早提交还是完全写好再提交呢?

Ted说这个应该看情况而定,如果不太有把握的修改就尽早提交,甚至可能只改了一行就提交,这样可以尽早获得其他同事帮助。

在GitHub工作是如何分工的

Ted说很多人远程工作,基本按各自的兴趣分功能来做。 Ted自己没有特别固定的工作时间,虽然他就住在SF,但每周只去公司三天,其他时间在家办公,他喜欢深夜工作,会工作到凌晨三四点,这时效率比较高,同时也有协作时差的问题,因为同事在世界各地,就有时差问题。 GitHub有一百多员工,.com部分--他们管website的部分就叫.com项目--有二十多人在做。

GitHub使用什么项目管理工具

GitHub Issue,只用这个。

GitHub内部专用的手机应用

  • 一个是工作用的交流工具,因为GitHub的百余位工程师遍布全球,所以沟通工具对他们来说特别重要。他们对37Signals的Campfire进行了的封装定制,同时做了增强,具有直接输入/deploy来进行部署等很酷功能。他们的使用很重,占用了Campfire全部流量的十分之一,另外还提到他们和37Signals的关系不错,会给37提供建议和帮助。
  • 另一个是twitter类似的应用,非工作用交流,发广播po照片什么的,在这篇12年的采访中也有提到。

GitHub的设计师使用版本控制吗?

Jesse说在GitHub,设计师也使用版本控制,他认为设计和编码的界限是模糊的。 不提交大文件,比如PSD,不要提交到代码仓库,而是将最终的图片文件提交,GitHub有很好的图片对比功能供用户使用。

其他八卦

  • 我称赞了他们在GitHub flavored Markdown上的工作,Ted说他们做了非常多工作在文字处理上面。还提到了一点前端的细节,比如在鼠标点击评论框时才会加载可以触发mentions和Emoji的控件,这样效率最佳。
  • 在交流时他们使用Emoji非常多,比如在一些比较过于严肃,或者气氛紧张的情况下用一些表情的话会非常有好处,
  • 他们在做website上的Ctags哦。



comments powered by Disqus