开发者工具与开发效率

会议室:苏黎世 2
出品人:王亚伟

开发者工具产品形态复杂,涵盖范围广,技术密度高,通常集成了编译构建或语言解释器、... 展开 >

专题出品人:王亚伟

华为云开发工具和效率领域首席专家

近 20 年行业经验,华为云开发工具和效率领域首席专家,软件开发生产线 DevCloud 首席技术总监。负责的产品涵盖集成开发环境,DevOps 工具链,应用现代化,AI 智能辅助开发等,服务于全球数百万华为生态开发者。加入华为前,曾任微软开发者事业部资深开发经理,在微软全球多个国家地区工作 13 年。王亚伟先生发表和被授予 20 多项软件开发技术相关的发明专利。

地点:苏黎世 2

专题:开发者工具与开发效率

开发者工具产品形态复杂,涵盖范围广,技术密度高,通常集成了编译构建或语言解释器、代码调试器、静态分析、性能调优等对开发者效率提升至关重要的工具链。本议题主要围绕集成开发环境(IDE)的架构和原理,代码分析和处理引擎的设计实现,应用现代化的开发实践等方向,对切实提升开发者效率的技术和实践进行深度硬核的探讨和分享。

by Pavel Petrochenko

Huawei
Principal Architect, Director of IDE Innovation Lab

This talk covers the evolution of smart coding assistants mostly focusing on smart code completion but covering a bit of other use cases too. We will discuss the term coding assistants, their effects on developer productivity, and possible ways to estimate the quality of suggestions. Then we will cover the history, weak and strong sides, as well as describe the most popular approaches to construction. Then we will cover the mixed approach that uses the strength of both static analysis and deep learning, describe a vision of our team and demo some results that we have in this direction. Finally, we will discuss possible next steps in smart coding assistants as well as a few other possible use cases where a combination of static analysis + deep learning can enchant developer productivity.

本次演讲将分享智能编码助手的演进,主要关注智能代码生成,但也涵盖了其他一些用例。我们将讨论编码助手对开发人员生产力的影响,预估建议质量的可能方法。接着我们将介绍它的历史、缺点和优点,并描述最流行的构建方法。然后我们将介绍利用静态分析和深度学习的优势的混合方法,描述我们团队的愿景并演示我们在这个方向上的一些结果。最后,我们将讨论智能编码助手中可能的后续步骤以及其他一些可能的用例,其中静态分析+深度学习的组合可以提高开发人员的生产力。

Outline 演讲提纲:

1. Introduction 介绍

  • What is a coding assistant, and how they can be useful? 什么是编码助手,有什么用处?
  • What are the effects on developer productivity? 对开发人员生产力有什么影响?
  • How we can estimate the quality of the suggestions? 我们如何预估建议的质量?   

2. History and the existing state-of-the-art 历史与现状

  • Classic approaches 经典方法: Basics/Code Recommenders/Modern proposal ranking solutions
  • Machine learning-based approaches 基于机器学习的方法: Codota/Language Modelling/TabNine/GitHub Copilot 

3. Analysis 分析

  • The strong and weak sides of language model-based approaches 基于语言模型的方法的优缺点
  • The strong and weak side of simple ranking 简单排名方法的优缺点

4. What do we do in Huawei?  华为实践

  • Unify the strong sides of both approaches! (Code Model is the library and ML is the brain who decides) 如何整合两种方法的优点 (代码模型是库,机器学习是决定的大脑)
  • The fast Code model is the key Fast Code 快速代码模型是关键
  • Our approach at the glance 方法一览

5. Demo 演示

6. What is the possible shapes of the Future? 未来形态

  • Bridging LM and Static Code analysis? 桥接 LM 和静态代码分析?
  • May be RL is the key? 可能 RL 是关键?
  • Adding history and style? 增加 history 和 style?
  • More use cases. Bug finding, smarter navigation, code explorations 更多用例。错误发现、更智能的导航、代码探索

Takeaway 你将获得:

  • Learn about both pure static analysis and ML/DL approaches to building coding assistants has their own benefits, and drawbacks 了解构建编码助手的纯静态分析和 ML/DL 方法各有优缺点
  • Learn about the future of smart coding assistants is in a building a successful mix of these two basic directions where both concepts work together in a synergy 了解智能编码助手的未来在于构建这两个基本方向的成功组合,让两个概念协同工作

by 韩骏

Microsoft
高级软件工程师

随着开发场景的越来越多样化,传统的本地客户端 IDE 已经远远满足不了开发者的需要。

得益于 VS Code 所用到的技术与组件,VS Code 可以相对轻松地形成前后端分离的架构,从而为开发者提供多种的开发模式:纯 SaaS 的 Cloud IDE、连接到不同的后端(WSL、Container、Remote VM)、自托管的服务器等。

那么,VS Code 所用到的技术与组件是如何让它能更好地支持前后端分离的架构的呢?VS Code 前后端分离的架构是怎么样设计的?这样的架构设计又能带来怎么样的好处?

希望通过本次演讲能为大家提供参考和借鉴意义。

演讲提纲:

1. 解析 VS Code 的核心技术 - 前后端分离的基础

  • 生于前端:Monaco Editor
  • 成于前端:Electron
  • LSP (Language Server Protocol)
  • DAP (Debug Adapter Protocol)
  • Xterm.js
  • 进程隔离的架构与插件模型

2. 剖析前后端分离带来的多种开发模式及其架构

  • 本地的前端 + 本地的后端:VS Code Desktop
  • 本地的前端 + "远程"的后端:VS Code Remote
  • 远程的前端 + 远程的后端:GitHub Codespaces
  • 远程的前端 + "本地"的后端:VS Code Server

3. 未来可期

  • Dev Container - 可定制化的开发容器成为统一的“后端”
  • github.dev & vscode.dev - 不止前端
  • WebAssembly - “前后端”都在浏览器中,带来无限可能

你将获得:

  • 了解 VS Code 背后所使用到的重要技术以及组件,以及其为前后端分离所做的铺垫
  • 学习借鉴 VS Code 前后端分离的架构
  • 探索前后端分离的架构下,未来的一些新方向和新机会

by 郭文俊

蚂蚁集团
云研发前端开发工程师

CloudIDE 相对于传统 IDE 来说,有着一些独特的优势,例如不占用本地资源,无需安装,更好的资源与代码管控等。同时借助云原生的优势可以解决一些本地 IDE 无法提供的能力,如提供开箱即用的研发环境,与研发平台的深度融合。本次演讲将阐述我们在 CloudIDE 上面的技术架构与实践经验,以及如何解决一些实际的问题(如网络隔离、启动加速),通过实际的场景案例分享如何应对各种复杂的研发环境和需求。

演讲提纲:
1. 蚂蚁 CloudIDE 介绍

  • 蚂蚁 CloudIDE 历史
  • 蚂蚁 CloudIDE 典型场景介绍

2. 蚂蚁 CloudIDE 技术与架构

  • 前端架构
    • 标准版架构
    • 极速版架构
  • 后端架构
    • 研发容器管控平台架构
    • 场景中台架构
    • 多容器架构
  • 网络隔离问题
  • CloudIDE 快速打开
  • 开箱即用

3. 蚂蚁 CloudIDE 实践案例

你将获得:

  • 详细了解目前蚂蚁 CloudIDE 的技术与架构
  • 一起探索更好用和更稳定的 CloudIDE

by 庄表伟

华为
开源解决方案与架构专家

随着企业使用开源软件,以及外来第三方软件比例越来越高,安全问题、可信问题、法务合规问题等日益突显。另一方面,在大型企业内部,越来越多的团队会重复选择相同的开源软件,甚至各自进行定制化开发。如何进行有效治理,如何在工具、流程中嵌入治理能力,是我们一直在探索的方向。

演讲提纲:
1. 软件工程的发展趋势
2. 开源软件的发展趋势

  • 开源采用率大幅度上升
  • 逐步暴露开源软件质量/安全性问题
  • Linus 法则失效

3. 开放性架构与开放性软件工程

  • 传统的架构,只需要考虑自己人写的代码
  • 开放性架构,需要纳入很多不明来历的代码
  • 开放性软件工程,需要解决这样的开放性带来的难题

4. 基于 DevOps 的开源及第三方软件治理

  • 公司级 DevOps 是什么?
  • 如何做公司级的开源及第三方软件治理
  • 如何实现规则、工具与运营三合一的架构

5. 更多畅想

你将获得:

  • 了解业界发展趋势
  • 共同探索开源及第三方治理的最佳实践

交通指南

上海·宏安瑞士大酒店

Swissotel Grand Shanghai
地址:上海市静安区愚园路1号
  • 微信咨询

  • 电话咨询

    联系电话:+86 18514549229

微信联系我们

小姐姐 瑞丽