写点什么

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

评论

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

封神!霸榜GitHub的零基础Python教程居然是本早教书

我再BUG界嘎嘎乱杀

Python 入门 零基础

30天拿下Rust之前世今生

希望睿智

rust语言

中小企业纵横数智之海,华为云“航母级”平台护航

脑极体

AI 数智化

synchronized原理-字节码分析、对象内存结构、锁升级过程、Monitor

多线程 synchronized HotSpot源码查看

活动回顾 |观测云在杭州论坛上闪耀:教育创新与技术领导力的双重荣耀

观测云

运维 AI大模型

智研未来,直击 AI DevOps,阿里云用户交流日杭州站来啦!

阿里巴巴云原生

阿里云 DevOps 云原生

带你一起阅读《Forrester Wave:AIOps 调研报告》

乘云数字DataBuff

智研未来,直击 AI DevOps,阿里云用户交流日杭州站来啦!

阿里云云效

阿里云 云原生

心识宇宙 x TapData:如何加速落地实时数仓,助力 AI 企业智慧决策

tapdata

数据库 Clickhouse 数据集成 CDC

Apache IoTDB 分布式架构三部曲(一)集群概念

Apache IoTDB

30天拿下Rust之环境搭建

希望睿智

rust语言

许冉直播不治本,京东需要刘强东

自象限

京东

30天拿下Rust之结构体

希望睿智

rust语言

30天拿下Rust之语法大全

希望睿智

rust语言

AutoMQ 对象存储数据高效组织的秘密: Compaction

AutoMQ

Java 云计算 云原生

学校选择云桌面厂家需要考虑哪些因素?

青椒云云电脑

云桌面 云桌面厂家 云桌面系统

30天拿下Rust之函数详解

希望睿智

rust语言

打破壁垒,实现多引擎3D内容轻量化交付|点量云流

点量实时云渲染

Unity 视频流 实时云渲染 ue 3D实时云渲染

百度王颖:百度文库开启创作新纪元,人人都是内容创作者

极客天地

机器人流程自动化与低代码流程自动化:技术革新的双重驱动

不在线第一只蜗牛

RPA 低代码 机器人自动化

火山引擎边缘云亮相 Force 原动力大会,探索 AI 应用新范式

火山引擎边缘云

4小时学完!15年技术大牛用247个实战案例剖析的Python教程

我再BUG界嘎嘎乱杀

Python 后端 入门 开发 零基础

为什么AI大模型离不开GPU?

Finovy Cloud

AI gpu GPU算力

前端菜鸡,对于35+程序员失业这个事有点麻了

伤感汤姆布利柏

以科技金融和风险管控为抓手,哈银消费金融持续增强市场竞争力!

极客天地

Ableton Live 11 Suite :强大的录音、编曲、混音和制作音乐

Rose

小而美:两步完成从源码到应用的极简交付

阿里巴巴云原生

阿里云 Serverless 云原生

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