前端工程师上手指南

1000 2020-01-20 13:22

准备

  1. 告知我你的 Github 账户、工作邮箱、heroku.com 账号
  2. 大致阅读我们的前端框架 OneFx 的文档,阅读时问自己三个问题
    1. 如果 UI 要添加一个 react 页面或者组件,应该加在哪里?
    2. 如果 UI 要发一个 request 到服务器到数据库,会经过哪些地方?如果 UI 要发一个 request 到服务器到第三方 API 上呢?
    3. 在提交代码之前,要自查哪些地方?
  3. 上述问题的答案
    1. shared folder,是 universal rendering 会调用的组件放置的地方
    2. react apollo gql components -> gql api gateway -> resolver -> model -> db. react apollo gql components -> gql api gateway -> resolver -> gateway client -> 3rd party API.
    3. https://onefx.js.org/contributing.html
  4. 阅读你即将上手工作的代码库的 README
  5. git clone 代码并且跑起来,直到能够正常访问,大多数的项目能够正常启动,但是有些时候某些项目会缺环境变量,遇到问题请及时联系我,我会告知你具体配置

任务的生命周期

  1. 【开任务】有一些项目可能会有设计文档描述项目应该如何实现,但是无论如何,最后都会落实在 Github Issue 上。如果你是中级、高级、资深工程师,你需要有能力写设计文档、分解步骤、计划执行、开任务、分配任务。
  2. 【接任务】拿到 Github Issue 后,理解需要做什么,有不明白的地方及时沟通和澄清。
  3. 【交任务】开一个 working branch 来工作,写完之后通过 PR(pull request) 提交代码,这也被称之为 diff。我们要求你的 diff:
    1. 一个或者多个 diff 对应一个 issue;不要一个 diff 解决多个 issue。
    2. 鼓励每个改动尽量小。百行以内是“小”,三百行以内是“中”,一千行以内是“大”,超过一千行是“超tm大”。
    3. 在你通知审核者之前,要保证 test 和持续集成的结果正确。提交之前可以在本地先跑一下 npm t.
    4. 如果有 CLA 的要求,记得签署 CLA。
    5. 符合规定的风格和最佳实践 https://onefx.js.org/contributing.html
  4. 【审查】当你的 diff 满足上述要求后,发消息通知 reviewer 来 review,所有进入生产环境的代码改动必须有至少一个人审查。审查过程要注意
    1. 不要依赖审查者。让 diff 尽快得到 approve 是你的责任,过程拖的太久,说明你做事情慢或者被 block 了没有及时沟通,归根结底还是你的问题。
    2. 当审查修改来回超过三个迭代,说明 diff 有很多问题,这个时候找审查者开会,不要在 Github review 上磨蹭。
    3. 多催审查者审查。
  5. 【合并代码】当 diff 满足所有要求之后,在 Github 上选择 “Squash and merge”,保证 master 是一条直线,一个 commit 对应一个 issue
  6. 【部署】当代码合并之后,如果你有部署服务的权限,请自己部署;如果没有,请找到相应的人部署。部署期间和之后,请密切查看服务的运行情况和相关 metrics,看是否出现问题。如果出现问题要及时回滚和修复。
  7. 【完成任务】什么叫做"完成任务"?任务的需求得到了满足,代码在生产环境中正确无误地运行。
    • diff 提交了,不是完成任务
    • diff 在被审查,赶紧催人审查
    • diff 被 approve 了,不是完成任务
    • diff 被 merge 进了 master,不是完成任务
    • diff 有问题,在生产环境中出现了 regression,不是完成任务

If you find this article helpful

follow me on Github :)

Download TianPan.co App

Learn startup engineering anywhere, anytime