代码改变世界

华为云软件开发云VS开发痛点=?

2018-01-11 10:23  老鱼大哥  阅读(690)  评论(0编辑  收藏  举报
在软件开发的过程中,是不是总会遇到这些问题:
搭建一个开发环境,用了九牛二虎之力,悲催的是竟然用不了……
团队同事突然出差,他写的代码出现问题,我却不会改……
提升软件件质量靠代码,交叉看、找大拿,简直太累了……
频繁修改提交代码,本地记录自己看着都头疼……
……
这些问题尽管不是软件开发过程中出现的全部障碍,但的确是开发者在工作过程中碰到的“神坑”,怎么规避?可以听一听华为云软件开发云的专家怎么说!
关于开发环境不兼容的痛
据了解,华为云软件开发云提供的是一站式云端DevOps平台,其中包含的是端到端的工具服务,这样就会覆盖不同的角色,包括管理、开发还有运维,笔者理解其实这样的一个平台可以极大可能地解决整个链条上出现的诸多问题,例如开发环境不兼容、代码检查与整合等,而不用再寻找更多的解决方案分段解决问题。
在软件开发云上,云端的开发环境被称为CloudIDE。简单来说就是打开一个浏览器,在浏览器中完成代码的编写和调试,不用特别安装IDE的环境。据悉,这款云端的开发环境已经可以做到12种主流语言的支持,并可以做到一键式自主选择开发的技术框架栈,快速构建开发环境,这就很好地解决了开发者在开发过程中劳心的问题。
华为云软件开发云运营总监张勇
更重要的是,开发好的环境可以复制到团队其他程序员手中,避免了二次开发的时间浪费,既然可以复制就可以有效解决环境不一致的问题,就算团队中的成员突然出差,代码出现问题需要补充以及修改,只要直接在自己的电脑上打开浏览器,就可以完成代码的开发和修复工作,有效解决了开发者在开发过程中的劳力问题。
华为云软件开发云高级产品经理马兵东对笔者说,这个环境中还集成了代码仓库、代码检查、代码评审等相关功能,最终实现的目标就是可以将开发环境的配置时间极大程度地缩短,由天级降到分钟级,目前来看这个改变是有效的。
举个例子,中译语通(青岛)有限公司企业大数据事业部副总经理安青这样总结CloudIDE在业务实践中的表现。“大家可以看到,我们公司做的国家级平台比较多,在多平台的开发环境搭建中,由于业务的多样化属性往往出现需要构建多个开发环境的问题,这种情况非常耗时耗力,有时候由于环境版本和框架要求不同,会存在兼容性差的缺陷。”
解决这种问题,中译语通选择采用华为云软件开发云,主要是由于其支持java、PHP、Python等多种主流开发语言,同时支持大数据、APP、web等多种应用开发环境。统一的开发环境构建功能为多种业务并行所要求的复杂的开发环境构建提供了可能性,并同时降低了环境配置的成本。
客户难以实时参与的痛
在敏捷开发的时代,一个好的产品、项目的标准就是要满足客户的需求并且及时响应客户的变化。在这方面大连华数大数据科技有限公司深有体会。
大连华数是一家专注于为工业、金融、政务等行业领域客户,提供大数据技术产品、行业应用、咨询规划一体化服务的高科技公司。CEO李闯向笔者介绍,其公司开发数控机床智能运维云服务平台时,便遇到了这种客户无法实时参与项目、了解项目进展、把控项目风险、需求反馈不及时的情况。
采用华为云软件开发云后,基于软件开发云提供的一站式云端DevOps平台,覆盖了管理角色、开发角色还有运维的角色,把这些角色放在开发闭环里面,使得项目完成度一目了然的,从而帮助项目管理者、最终客户实现管理透明,项目透明。
代码检查太复杂的痛
都知道想要提升软件质量很重要的一方面就是代码写的好,但是代码的优化不能单纯依赖人力,实际上更多的还要靠一些管理手段,华为云软件开发云对此配置了代码检查的功能。华为云软件开发云运营总监张勇表示,目前我们的代码检查可以在一定程度上替代人力,可以有效缓解有些缓解规模比较小的企业通过交叉检查、聘用高水平人才替代检查造成的效率较低的情况。
从现实出发,如果代码量较大也不支持这种人力形式的检查方式,同时还会出现代码剽窃的现象,有数据显示,软件开发云的代码检查系统中有1800多条规则,应对常见的代码问题是没问题的。
此外这种设置可以做到提前发现代码编码的问题,架构的问题及编码风格的问题,有效避免冗余代码,最后还可以辅助程序员修改代码。
据笔者了解,代码检查的设置并不在代码仓库中,而是有一个代码检查的引擎帮助完成,其中涉及到一个端到端的加密通道。每次进行检查的工作时,会将代码放到规则库中过滤,观察代码检查得出的结论。目前来说这个代码检查的规则库还并没有固定的检查以及更新频率,但是有数据可以补充参考下:九月初为1425条规则,到上周看应该是1873条规则。
值得一提的是,代码检查的规则本身支持一些用户自定义适合企业的检查规则。
那么软件开发云代码检查功能这些规则从哪儿来?第一个来源是不断把业界一些先进的代码检查规则以及有些先进公司分享出来的规则做出集成;还有一部分是根据华为本身的软件开发经验的规则总结;另一方面则是每上线一种成熟的开发语言必须会随之配套相关的规则。
代码检查除了是开发者的一项福利之外,更重要的一方面,开发者本身的编程技巧的训练也可以通过1800多条代码建议进行提升,很大程度提高了程序员的编程技巧和编写代码的规范。
从初级研发工程师到资深技术专家的成长过程中,华为云软件开发云可以更好地为初级研发人员提供可协作的在线编译构建能力,根据研发场景自定义代码检查规则集以及提供华为经典开源代码为指导,从而加快员工的成长速度。
查看历史记录与代码整合的痛
为什么要提高代码合并的效率?以前中央式的代码仓库,程序员去做代码合并的时候都是向同一个仓库中不断持续的完成合并这个行为,当一个开发者去合并这个代码的时候,会产生一些新的Gap,后面的开发者继续合并的时候需要把前面的Gap一同合并上。
使用Git时,由于本地已经存在了完整的历史记录,导致代码提交的频率不会像原来那么高。对此,华为软件开发云一般构建Feature的分支,一段时间内只关注Feature分支就可以,然后再做一次代码的合并,合并后会基于分支去开发commit,这样粒度比较小,只需要解决一些小问题。另外Git本身会带有一些智能合并的功能。
据悉,代码仓库有不同的分支,在远端的云上存在的分支数不会直接导致每个人的代码在云端有多个版本的代码,如果远端有三个分支的话,本地根据需要可能只有一个开发分支。
据了解,目前华为云软件开发云已经在大连、青岛、福州等城市成立创新中心,提供线下技术支持,支撑产业转型升级,在服务2000多家企业,5万多名开发者的同时,与清华、北大、北航等30多所高校也建立示范性软件学院联盟。