2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

第五届敏捷中国大会现场采访敏捷宣言创始人:Martin Fowler 和 James Grenning

  • 2010-10-14
  • 本文字数:1633 字

    阅读完需:约 5 分钟

由 ThoughtWorks 主办、InfoQ 全程提供票务支持的第五届敏捷中国大会昨日在北京成功举办,两位敏捷宣言的创始人 Martin Fowler 和 James Grenning 受邀分别作了题为“ 21 世纪的软件设计”和“测试不再是发现Bug ”的主题演讲,并接受媒体访问。InfoQ 编辑在大会现场就REST、敏捷、嵌入式开发等相关话题和两位大师进行了简短的交流。

受访者简介: Martin Fowler,著名作家,软件开发咨询师及演讲家,ThoughtWorks 首席科学家。他以其超过 20 年的专业经验帮助企业核心系统应用面向对象技术 。

InfoQ:作为技术领域的权威,很多人认为您代表着技术的潮流或者发展方向,请问您最近在关注什么技术?

Martin Fowler(以下简称 Martin):在过去的几年,包括现在,我一直在关注 DSL(领域特定语言),我的新书《Domain Specific Languages》也主要关注的这个方面。对于我来说,我喜欢在某一个时间段只关注一个领域。在未来一段时间,持续交付是我很想去关注的,想多花一些时间。

InfoQ:最近您为 Jim Webber 等人撰写的《REST in Practice》写了一个序言,里面提到对REST 要谨慎地使用,您认为REST 技术的应用前景如何?

Martin:对于我个人来讲我非常不愿意预测未来,但是我仍然认为 REST 是个非常好的技术,可以用来在互联网上做集成,做可扩展性的集成等。另外我也有一些同事,他们对 REST 这个领域非常专注,并曾经成功地应用 REST 做过很多的项目,这些都可以证明 REST 在可扩展集成领域有比较好的基础。

InfoQ:以您的观点,您如何定义一个成熟的敏捷开发团队?

Martin:我想最重要的度量标准就是这个团队能够快速地、及时地、经常地发布软件,而且能够比较高质量地发布软件,开发人员能够把代码安全地放在系统中,而不出现问题。这些都是一个高质量的敏捷团队所应该具备的素养。

受访者简介:James Grenning, Renaissance Software Consulting 公司创始人,全球知名讲师,过程教练及咨询师。他拥有超过 30 年的软件开发行业经验,擅长技术指导与管理。他专注于嵌入式软件研发,也是将敏捷实践带入 IT 世界的重要先驱力量,是敏捷宣言创始人之一。

InfoQ:在嵌入式开发领域,敏捷的实施现状如何?另外在这个领域的敏捷实施过程中,最大的难点是什么?

James Grenning(以下简称 James):在传统的开发过程中,团队可能会认为一开始就进行设计、定义,然后再编程才是正常的途径,等到以后出现问题时,再回过头来找解决方案。其实嵌入式开发团队通常也是这样,这也是他们在实施敏捷的过程中必须要注意的。在嵌入式开发领域最大的一个秘密就是嵌入式开发和其他的开发没有什么本质上的区别,实际上当我们觉得它很特殊的原因,是因为它有一些复杂的依赖,比如对硬件设备的依赖。但是,事实上,在其他的软件开发领域也有类似的依赖。

InfoQ:在嵌入式开发中常用的语言是 C 和 C++,而 C 还不是面向对象语言,很多人认为用 C 很难写出干净的代码。请问您如何看待这个说法?另外在用 C 做嵌入式开发的时候,您认为有些有价值的原则值得遵循?

James:用 C++ 可以写出很好的面向对象的程序。对于 C 语言来说,它是很灵活的。根据过去两年的实践证明,基于 C 语言也能够写出具有紧密的、封闭性的模块。特别是 CPT(一种 C 语言编程软件)可以帮助开发人员做出更好的设计,写出有更好封装性的模块或者代码。不像以前写 C 语言的时候,人们倾向于写的非常长,通过 CPT 大家都会自觉不自觉地将程序写得更小,更有封装性。

对于用于嵌入式的 C 语言开发来讲,它使用的原则其实和其他的面向对象编程的原则一样。都应该遵循面向对象开发的那些原则,特别是像封装性、高内聚等。比如我们要测试一辆汽车,要对其引擎做具体的测试,这是比较困难的,因为通常来说引擎装在汽车里才能完全展示驱动汽车的性能。但是如果我们能够将引擎拆下来,对它进行单独测试,也许会更加有效。对于 C 语言开发也是这样,如果所编写的代码都是相互关联、耦合的,那么就无法进行有效的验证。所以说,C 语言的编程也应该遵循面向对象开发的原则:高内聚、低耦合!

2010-10-14 23:111978

评论

发布
暂无评论
发现更多内容

优酷 IPv6 演进和实践指南

阿里巴巴终端技术

ipv6 移动网络

架构训练营模块七作业

沈益飞

架构是训练营 架构师训练营 4 期

模块七课程作业

李晓笛

架构实战营

MongoDB在vivo评论中台的应用案例

MongoDB中文社区

mongodb

Tapdata 在线研讨会:如何快速上手 Tapdata Cloud?

tapdata

数据库 Cloud

深入解析 Flink 细粒度资源管理

Apache Flink

大数据 flink 开源 编程 实时计算

模块七作业-王者荣耀商城异地多活架构设计

CH

架构实战 「架构实战营」

java培训:JVM参数配置

@零度

JVM JAVA开发

面试突击23:说一下线程生命周期,以及转换过程?

王磊

幂等最佳实践

得物技术

数据 幂等 API 一致性 请求

报名开启 | 2月25日,索信达监管合规产品线上发布会

索信达控股

元宇宙时代NFT的价值衡量

CECBC

MongoDB University 中文字幕视频上线!

MongoDB中文社区

mongodb

模块七作业

novoer

「架构实战营」

架构实战营第 4 期第 7 课作业:王者荣耀商城异地多活架构设计

owl

「架构实战营」

使用APICloud AVM多端组件快速实现app中的搜索功能

YonBuilder低代码开发平台

前端 APP开发 APICloud 跨端开发 跨端框架

Mysql数据库表中有索引为什么还是查询慢?

慕枫技术笔记

数据库 2月月更

“区块链”将彻底改变人类社会文明,颠覆世界最强大的企业

CECBC

前端培训:Vue3 的自定义指令

@零度

Vue 前端开发

数蛙DG-IoT开源平台

dgiot

物联网 2月月更 2月日更 dgiot dgiot物联网

Go学习笔记——同构复合类型

为自己带盐

Go 学习笔记 2月月更

第七周

cqyanbo

Linux系统编程-进程间通信(消息队列)

DS小龙哥

消息队列 2月月更

什么字体更适合程序员?

lencx

程序员 字体设置 主题

数字货币或将消灭银行!未来3至5年,银行业可能将崩溃?

CECBC

来喷一下所谓无影云电脑

乌龟哥哥

无影云电脑 2月月更

如何利用友盟平台定位安卓端的程序异常 | 社区征文

liuzhen007

移动开发 新春征文 2月月更

8分钟了解TDengine的WAL机制

TDengine

数据库 tdengine 开源 物联网

艾瑞咨询:青云科技入选中国开源软件产业图谱

青云技术社区

云计算 开源 混合云

Kubernetes集群监控平台(kube-prometheus-stack/Metrics Server)搭建教程

山河已无恙

Kubernetes Kubernetes 集群 2月月更

【C语言】 初始函数 & 数组

謓泽

数组 C语言 函数 2月月更

第五届敏捷中国大会现场采访敏捷宣言创始人:Martin Fowler和James Grenning_SOA_霍太稳@极客邦科技_InfoQ精选文章