fb公司代码入库前4个提高研发效能的实践


1.规范、优化流程


    获取开发环境->本地开发->入库前系统检查->入库
    主要途径:
    1.本地开发环境获取-获取开发及,配置环境,获取代码要很快获取,比如将环境打包放在云上共享
    2.Don't Block Engineers-程序员要很快配置好环境
    3.优秀实践固化-好的实践方法共享并推行固化
    4.建设代码入库前门禁系统
2.快速反馈


    主要方面:
    1.代码本地开发测试快速反馈-自动化测试,联调环境,调测调优,代码检查
    2.代码入库前系统检查快速反馈-自动化测试,人工代码审查,代码检查
    主要途径:
    1.灵活运用各种linter和测试
    2.使用实时检验工具
    3.建设并优化沙盒环境的搭建
    4.并行化提高反馈效率    
3.流程全貌以及代码检查系统


    流程:本地编码->git提交 ->本地UT(单元测试)和IT(集成测试)  ->CR工具         ->check通过入库
                                            ->云端UT&IT                                     ->机器CR
                                            ->本地代码检查                                 ->云端UT&IT
                                            ->云端代码检查                                 ->云端代码检查
                                                                                                      ->人工CR
    1.测试角色:
        开发人员负责UT和IT
        测试团队写测试框架
    2.测试进行时间
        1.UT和IT在开发机和CR环境都会运行且频率高(代码修改一下测一下),在开发机上运行的极少,尽量使用并行和减少测试用例数量的方法保证开发不受阻塞
        2.UI测试不强制在上库流程和任何CI/CD里代码检查原则
    3.代码检查原则:
        1.大部分是静待检查
        2.大部分工具是开源和自研
        3.每个语言功能都有默认检查工具和配置,各个团队可以自己修改工具和配置

4.推动极致的CI(持续集成-CONTINUOUS INTEGRATION):推动成员进行CI的主观能动性


        1.CI核心原则:代码尽早进入共享分支集成
    ps:
    沙盒:计算机专业术语,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。
    沙盒将软件运行于一个受限的系统环境中,控制程序可使用的资源(如文件描述符、内存、磁盘空间等)。
    以下是一些沙盒的具体实现:
        软件监狱(Jail):限制网络访问、受限的文件系统名字空间。软件监狱最常用于虚拟主机上。
        基于规则的执行:通过系统安全机制,按照一系列预设规则给用户及程序分配一定的访问权限,完全控制程序的启动、代码注入及网络访问。也可控制程序对于文件、注册表的访问。在这样的环境中,病毒木马感染系统的几率将会减小。Linux中,安全增强式Linux和AppArmor正使用了这种策略。
        虚拟机:模拟一个完整的宿主系统,可以如运行于真实硬件一般运行虚拟的操作系统(客户系统)。客户系统只能通过模拟器访问宿主的资源,因此可算作一种沙盒。
        主机本地沙盒:安全研究人员十分依赖沙盒技术来分析恶意软件的行为。通过创建一个模拟真实桌面的环境,研究人员就能够观察恶意软件是如何感染一台主机的。若干恶意软件分析服务使用了沙盒技术。
        在线判题系统:用于编程竞赛中的程序测试。
        安全计算模式(seccomp):Linux内核内置的一个沙盒。启用后,seccomp仅允许write()、read()、exit()和sigreturn()这几个系统调用。 [1]

    
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值