【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

第五届敏捷中国大会现场采访敏捷宣言创始人: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:111436

评论

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

架构实战营 - 模块二作业

李东旭

「架构实战营」

设计一个秒杀系统

卢卡多多

秒杀 7月日更

【面试&个人成长】2021年过半,社招和校招的经验之谈

王知无

Spark SQL和DataFrames:与外部数据源进行交互(五)

数据与智能

sql spark

鸿蒙学习笔记 helloworld(Java)

万里无云万里天

HarmonyOS DevEco Studio

微信朋友圈的高性能复杂度分析

架构0期-Bingo

丢失api-ms-win-crt-runtimel1-1-0

好孩子

八位阿里大牛耗时三年总结出Java面试复盘手册!带你实现逆风翻盘

【LeetCode】连续子数组的最大和Java题解

Albert

算法 LeetCode 7月日更

Vue进阶(幺肆捌):Vuex辅助函数详解

No Silver Bullet

Vue vuex 7月日更

第五周作业 - 知识星球加入星球的流程图

小夏

产品经理训练营 邱岳

在线XML转JSON工具

入门小站

如何写出富含知识的代码

escray

学习 极客时间 7月日更 如何落地业务建模

架构实战营 - 模块二作业: 分析微信朋友圈的高性能复杂度

Julian Chu

#架构实战营

Linux之/etc/group文件

入门小站

Linux

架构实战营模块二作业

袁小芬

架构实战营

生产环境踩坑系列::Hive on Spark的connection timeout 问题

dclar

spark hive hive on spark

白嫖一份小白到进阶网络安全学习宝典【建议收藏】

网络安全学海

面试 网络安全 信息安全 渗透测试 开发安全

网络攻防学习笔记 Day77

穿过生命散发芬芳

网络攻防 7月日更

17道题你能秒我?我Hbase八股文反手就甩你一脸

王知无

大数据与分布式

喵叔

7月日更

架构实战营 - 模块二作业

思梦乐

鸿蒙学习笔记 下载和安装DevEco Studio

万里无云万里天

HarmonyOS DevEco Studio

科学主义 -- 个人进步的杀手

俞凡

认知

云计算的革命尚未开始

大可不加冰

云计算 Cloud 基础设施即代码 Cloud Native

Vue进阶(幺伍零):Vue key应用

No Silver Bullet

Vue 7月日更 key

模块二作业

Mr.He

架构实战营

Vue进阶(幺叁贰):ES数组操作:数组合并

No Silver Bullet

Vue 7月日更 数组合并

Data Mesh,数据网格的道与术

王知无

分享几个团队敏捷转型过程中的故事

Bruce Talk

Scrum 敏捷 Agile

模块二作业

Geek_35a345

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