时间:2002
Artima.com 采访
我接受了 Bill Venners 对 artima.com 网站的采访。在采访中,我谈到了重构、演进式设计、灵活性以及测试驱动开发。Bill 甚至让我说的话听起来很有条理。
使用元数据
您可以使用基于元数据的方法来消除繁琐的面向数据任务带来的痛苦。
.NET 自定义属性如何影响设计
Jim 和 Alexei 在开发新版 NUnit 中发挥了领导作用。由此,他们反思了新的 .NET 语言特性——属性——如何影响设计。
2002 年 XP 大会
2002 年 5 月底,XP 社区再次降临地中海的撒丁岛。在本文中,我回顾了 Ken Schwaber、David Parnas、Enrico Zaninotto、Bill Wake 以及 Standish 集团的 Jim Johnson 的全体会议演讲。他们引导我思考敏捷开发的本质、数学规范的作用、不可逆性的复杂性、隐喻以及大幅削减软件成本的最佳方法。
不扼杀企业的企业转型项目
本文基于我在 2001 年保险业会议 LOMA 上发表的演讲。在本文中,我考察了 Thoughtworks 完成的一些在某种程度上是“企业转型”的软件开发项目。该演讲(和论文)面向非技术受众。我从这些项目中总结出了一些共同的经验教训。简而言之,这些经验教训是:频繁交付、预见意外、获得高层管理支持、将业务和软件开发视为合作伙伴、选择面向未来的技术、人是关键成功因素以及持续学习。本文的版本最近发表在《资源》杂志上。
使用 Visual C++ 和 COM 进行持续集成
持续集成原则适用于许多不同的开发环境。虽然这些原则在不同项目中基本保持不变,但这种实践的实施方式可能会有很大差异。语言、平台、团队规模和团队位置等变量带来了独特的实施挑战。在这里,我们将概述我们如何在主要使用 Visual C++ 开发的 COM/Windows 环境中实施 CI。
又一篇关于优化的文章
许多关于性能优化的成熟原则并不广为人知,这总是让我感到惊讶。本文是对此的又一次尝试。
公共接口与已发布接口
许多现代语言都区分模块中的公共特性和私有特性。一个不那么经常被区分的是公共特性和已发布特性:这可能是一个更重要的区别。
有目的地建模
您绘制的模型类型取决于您想要实现的目标。John 描述了概念模型、规范模型和实现模型之间的有用区别。