时间: 2003

西部往事

我的朋友都是极客,所以他们中的很多人都期待着 2003 年 11 月的那一天,期待着《双塔奇兵》加长版 DVD 的发行(在我的朋友中,加长版 DVD 是唯一值得拥有的)。但对我来说,那一天标志着另一个同样重要的发行,赛尔乔·莱翁内的这部伟大的西部片终于发行了 DVD。

作者:马丁·福勒

2003 年 12 月 26 日

阅读更多…

博客

消遣

已发布接口

已发布接口是我使用的一个术语(首次出现在重构中),用于指代在定义它的代码库之外使用的类接口。因此,它比 Java 中的 public 含义更广,甚至比 C# 中的非内部 public 含义更广。我在 IEEE 软件专栏中指出,已发布和公共之间的区别实际上比公共和私有之间的区别更重要。

作者:马丁·福勒

2003 年 12 月 26 日

阅读更多…

博客

封装 语言特性 应用程序架构 API 设计

派生信息

如何在 UML 中表示派生信息?

作者:马丁·福勒

2003 年 12 月 25 日

阅读更多…

博客

uml

钥匙扣笔记本电脑

钥匙扣上的笔记本电脑,在很多方面这只是一个夸张的说法,但这个想法最近一直困扰着我。催化剂是偶然发现了Knoppix

作者:马丁·福勒

2003 年 12 月 24 日

阅读更多…

博客

工具

P O J O

首字母缩略词:简单的 Java 对象

作者:马丁·福勒

2003 年 12 月 8 日

阅读更多…

博客

编程环境

粘性时间线

项目时间线是在项目回顾期间生成的一件很有价值的东西。时间线应显示项目期间发生的各种事件,以及它们如何影响项目。

作者:马丁·福勒

2003 年 12 月 2 日

阅读更多…

博客

协作

提供服务存根

对于任何为面向服务的架构构建服务的人来说,一个重要的想法是。在构建服务时,还要构建一个服务存根,供客户端用来测试。这样的存根应该对一组固定的请求提供预设响应,模拟错误情况,并且能够在客户端机器上运行。您需要确保存根正确地模拟了真实系统的行为。通过为客户端提供存根,您可以使客户端更容易地使用您的服务;这当然意味着您的服务更有可能被使用。

作者:马丁·福勒

2003 年 12 月 2 日

阅读更多…

博客

应用程序集成

测试语言

我目前正在参加XP 日的一个会议,Owen Rogers 和 Rob Styles 正在谈论 XP 的单元测试和验收测试之间的区别。这在我的脑海中引发了一个想法——编写验收测试的语言应该是什么?

作者:马丁·福勒

2003 年 12 月 2 日

阅读更多…

博客

测试

贫血领域模型

这是一种已经存在很长时间的反模式,但目前似乎正在经历一次特殊的爆发。我正在和 Eric Evans 讨论这个问题,我们都注意到它们似乎越来越受欢迎。作为真正领域模型的支持者,这不是一件好事。

作者:马丁·福勒

2003 年 11 月 25 日

阅读更多…

博客

坏事 领域驱动设计 应用程序架构

面向命令的接口

模块最常见的接口样式是使用过程或对象方法。因此,如果您希望模块计算合同的一系列费用,则可能会有一个 BillingService 类,其中包含用于执行计算的方法,如下所示调用它

aBillingService.calculateCharges(aContract)

面向命令的接口将为每个操作都有一个命令类,并使用如下所示的内容调用

CalculateChargeCommand.new(aContract).run()

作者:马丁·福勒

2003 年 11 月 23 日

阅读更多…

博客

API 设计

迭代开发的历史

我遇到的大多数客户都没有听说过迭代开发,或者认为它是一种新的、相对未经尝试的现象。相比之下,迭代开发已经以各种名称存在了很长时间。IEEE 软件最近由 Craig Larman 和 Vic Basili 发表的一篇文章总结了捕捉这段历史的努力,并让您很好地了解了使用迭代开发方法的成功项目的悠久历史。

作者:马丁·福勒

2003 年 11 月 6 日

阅读更多…

博客

计算机历史

不受欢迎的建模语言

UML 对不同的人意味着不同的东西,这就是为什么我发现人们使用不同的UML 模式是有用的。我交谈过的大多数人都对UML 草图感兴趣,而这个群体对 UML 2 并不怎么感冒。

作者:马丁·福勒

2003 年 11 月 3 日

阅读更多…

博客

uml

数据访问例程

封装的一个常见部分,尤其是在面向对象的系统中,是隐藏数据结构。然而,在数据访问例程后面公开大部分数据也很常见。在本专栏中,我将介绍一些编写数据访问例程的指南。但是,不要忘记,如果您可以隐藏数据,通常会更好。

作者:马丁·福勒

2003 年 11 月

阅读更多…

ieeeSoftware

C- 重构

到目前为止,重构工具已经出现在许多语言中。在 Smalltalk 的引领下,我们看到了几个用于 Java 的工具和几个用于 C# 的工具。有一种语言的缺失引人注目,那就是 C++,尽管有呼吁。所有这一切都尽管第一个重构论文是由Bill Opdyke完成的,他的背景是 C++。

作者:马丁·福勒

2003 年 10 月 18 日

阅读更多…

博客

重构

表示域分离

我发现并遵循的最有用的设计原则之一是,在程序的表示方面(用户界面)和其余功能之间保持良好的分离。多年来,在我见过这样做的过程中,我看到了很多好处

作者:马丁·福勒

2003 年 10 月 9 日

阅读更多…

博客

应用程序架构 前端

企业架构

就在最近,我在亚马逊上收到了一些关于企业应用程序架构模式的差评,因为书中没有关于企业架构的内容。当然,这有一个很好的理由——这本书是关于企业应用程序架构的,即如何设计企业应用程序。企业架构是一个不同的主题,即如何将企业中的多个应用程序组织成一个连贯的整体。

作者:马丁·福勒

2003 年 10 月 9 日

阅读更多…

博客

应用程序集成 企业架构 应用程序架构

类图中的局部变量

如何在 UML 类图上显示局部变量(参数、临时变量等)?

作者:马丁·福勒

2003 年 10 月 6 日

阅读更多…

博客

uml

XP 原则

每个 XP 爱好者都知道 4 个价值观和 12 个实践,但有多少人知道 15 个原则?我承认,当肯特上周在JAOO上谈论它们时,我并不知道。演讲结束后,我问肯特关于它们的问题:“它们在白皮书中吗”。“是的”,他回答说,“巧妙地隐藏在名为‘基本原则’的章节中”。

作者:马丁·福勒

2003 年 10 月 4 日

阅读更多…

博客

极限编程

放弃 XSLT

这个网站的所有内容都是用简单的 XML 文档编写的,并转换为 HTML。我发现这很有效,这意味着我永远不必担心处理 HTML 格式。(正如您所见,花哨的布局不是我的风格。)我甚至用这种方式写了一整本书

作者:马丁·福勒

2003 年 9 月 20 日

阅读更多…

博客

写作

依赖和关联

依赖和关联之间有什么区别?

作者:马丁·福勒

2003 年 9 月 17 日

阅读更多…

博客

uml

平台无关的误用

关于模型驱动架构 (MDA) 的一个主要说法是,它允许您在平台无关模型 (PIM) 中开发系统,然后可以将其转换为平台特定模型 (PSM),用于 .NET 或 Java 等技术。一个警惕的读者应该会对此说:“等等,Java 的全部意义不就是平台无关吗?那么,为什么我需要一些生成另一种平台无关技术的平台无关技术呢?”

作者:马丁·福勒

2003 年 9 月 12 日

阅读更多…

博客

uml

种子工作

在面向对象的最早期,像我这样的面向对象倡导者非常重视支持重用。早期,我们谈论的是类的重用。然后我们发现,重用单个类虽然在某些情况下有效,但在其他情况下效果不佳。因此,我们开始使用可重用框架,这为我们提供了部分构建的功能应用程序。

作者:马丁·福勒

2003 年 9 月 11 日

阅读更多…

博客

演进式设计

应用程序边界

软件开发中尚未解决的问题之一是确定一段软件的边界是什么。(浏览器是操作系统的一部分吗?)许多面向服务架构的支持者认为应用程序正在消失——因此,未来的企业软件开发将是关于将服务组装在一起。

我认为应用程序不会消失,原因与应用程序边界如此难以划定的原因相同。本质上,应用程序是社会构建的

作者:马丁·福勒

2003 年 9 月 11 日

阅读更多…

博客

团队组织 企业架构 应用程序架构

重构的词源

重构一词从何而来?

作者:马丁·福勒

2003 年 9 月 10 日

阅读更多…

博客

重构

无法衡量生产力

我们看到关于软件过程、设计实践等的讨论如此情绪化。许多这样的争论是不可能解决的,因为软件行业缺乏衡量软件开发有效性的一些基本要素的能力。特别是,我们没有办法合理地衡量生产力。

作者:马丁·福勒

2003 年 8 月 29 日

阅读更多…

博客

生产力 指标 项目计划 估算

货币作为值

有很多常见的值对象例子,我最喜欢的是货币——而与货币密切相关的是货币。

作者:马丁·福勒

2003 年 8 月 26 日

阅读更多…

博客

领域驱动设计

用例和故事

用例和 XP 的用户故事之间有什么区别?

作者:马丁·福勒

2003 年 8 月 18 日

阅读更多…

博客

需求分析 uml

取悦客户

所有敏捷方法都强调系统开发人员与其最终受益者(客户)之间直接交互的重要性。敏捷宣言说“业务人员和开发人员必须在整个项目中每天一起工作”,这是为了强调交互的频率很高。极限编程通过其现场客户实践强调了这一点。

作者:马丁·福勒

2003 年 8 月 15 日

阅读更多…

博客

敏捷 协作

建筑师

当人们使用“软件架构师”一词时,他们使用的是建筑施工中的一个比喻,来帮助人们理解架构师的角色。讽刺的是,在这样做的过程中,他们误解了建筑师的实际角色。

作者:马丁·福勒

2003 年 8 月 14 日

阅读更多…

博客

过程理论 协作

多重性而非基数

当数据建模方法谈到关系时,它们使用术语基数来表示可以链接在一起的实体数量。因此,您可能在订单和客户之间存在关系,并说关系的基数是一对多。或者您可能听说过,订单的客户基数是 0 到多。

作者:马丁·福勒

2003 年 8 月 12 日

阅读更多…

博客

uml

固定长度字符串

查看大多数在应用程序编程语言和关系数据库之间进行通信的库,您会注意到它们将数据库中的字符串类型(char 或 varchar)映射到编程语言中的字符串类型。简单、明显,但也许是错误的。

作者:马丁·福勒

2003 年 8 月 11 日

阅读更多…

博客

应用架构

模式并非新鲜事物

关于模式书籍的一个常见抱怨是,它们对经验丰富的开发人员来说没有什么新鲜事。(我最近在亚马逊评论和 The Server Side 上收到了一些这样的评论,所以此刻我可能感觉很敏感。)这不仅是事实,而且是模式的全部意义所在。

作者:马丁·福勒

2003 年 7 月 31 日

阅读更多…

博客

写作

歌唱神探

《歌唱神探》是由 BBC 在 20 世纪 80 年代制作的一部电视剧(6 集,每集一小时)。包括我在内的许多人都认为这是他们看过的最好的电视剧。这是一部复杂的作品,可能是电视史上最具原创性的艺术作品之一。因此,它不是每个人都喜欢,但我看过很多遍了。它最引人注目的是与作家丹尼斯·波特有关,他制作了许多具有挑战性的电视节目。它最近在 DVD 上发行了。

作者:马丁·福勒

2003 年 7 月 30 日

阅读更多…

博客

消遣

固定价格

许多人认为,在敏捷项目中不能签订固定价格合同。由于敏捷流程的全部意义在于您无法预测未来,因此这并非不合理的假设。然而,这并不意味着您无法达成固定价格的敏捷合同,它的真正含义是您无法达成固定范围的合同。

作者:马丁·福勒

2003 年 7 月 29 日

阅读更多…

博客

敏捷 敏捷采用 生产力 项目计划 估算

多个规范模型

随便找一家大型企业,您通常都会发现某种专注于企业级概念建模的团队。最常见的是数据管理团队,偶尔他们也可能参与定义企业级服务。它们是企业级的,因为它们不是专注于单个应用程序的工作,而是专注于集成多个应用程序。

作者:马丁·福勒

2003 年 7 月 21 日

阅读更多…

博客

应用程序集成

历史并非废话

历史或多或少是废话

——亨利·福特

我最近收到了一位《UML 精粹》读者的不愉快电子邮件。当一位愤怒的读者后悔购买,更不用说阅读我偶尔的智慧之言时,我的日子就不好过了。但这位读者的抱怨中有一些特别有趣的地方。他具体的抱怨是关于我“不必要的故事”。

作者:马丁·福勒

2003 年 7 月 15 日

阅读更多…

博客

需求分析 遗留系统改造

市场架构和技术架构的区别

当我们考虑软件架构时,我们通常会想到它的技术架构。但还有另一个重要的架构——我们用来与软件客户沟通的架构:市场架构。忽视这种“市场架构”及其与“技术架构”的关系,可能会给开发项目带来很多麻烦。

作者:卢克·霍曼

2003 年 7 月

阅读更多…

ieeeSoftware

谁需要架构师?

什么是架构,谁才是真正的架构师?这些问题似乎让每个人都非常激动。因此,在本期 IEEE 软件专栏中,我让拉尔夫·约翰逊解释了架构:他的定义与所有其他人的定义相符,但没有人同意。我还谈到了架构师的两个亚种:Architectus ReloadusArchitectus Oryzus

作者:马丁·福勒

2003 年 7 月

阅读更多…

ieeeSoftware

软件工程知识体系指南 (SWEBOK)

本月是 IEEE 的 软件工程知识体系指南 的评审月。这是一个试图定义我们专业的知识体系的尝试,目的是为获得许可的专业奠定基础。

作者:马丁·福勒

2003 年 6 月 24 日

阅读更多…

博客

认证 流程理论

Agiledox

我的同事乔·沃尔尼斯 向我推荐 了我们同事 克里斯·史蒂文森 开发的一个非常简单的工具。TextDox(AgileDox 的一部分)是一个从 JUnit 测试用例自动生成文档的工具。听起来很荒谬,但 沃德式 的想法就是这样。

作者:马丁·福勒

2003 年 6 月 23 日

阅读更多…

博客

测试 工具

类型化集合

当人们开始使用对象时,特别是在强类型语言中,一个常见的问题是,他们是否应该为不同的域类型使用特定的集合类。因此,如果您有一个存储员工集合的公司类,您应该使用库中的常规集合类,还是应该创建一个特定的 EmployeeList 类——一个类型化集合。

作者:马丁·福勒

2003 年 6 月 17 日

阅读更多…

博客

API 设计

安全与设计

上周,我很高兴地在佛罗里达州四处走动,与丹·桑德林和大卫·勒布朗在一系列微软架构委员会会议上进行了交谈。对于那些不认识大卫·勒布朗的人来说,他与迈克尔·霍华德合著了非常受欢迎的书 编写安全代码。在每次会议上,我都会做一个关于 企业应用架构模式 的演讲/问答(本周获得了 JavaWorld 的 奖项),大卫会接着讲安全问题。

作者:马丁·福勒

2003 年 6 月 14 日

阅读更多…

博客

团队组织 安全

制作存根

测试增强设计的一个常见问题是如何在测试模式下创建服务存根,同时让真实的东西用于生产(以及一些测试)。我的几位同事分享了他们的想法。

作者:马丁·福勒

2003 年 6 月 10 日

阅读更多…

博客

测试

UML 2

上周,OMG 采用了 UML 2 的上层结构文档。实际上,这意味着 UML 2 已经达成一致。UML 2 对 UML 进行了许多更改——它代表了自 UML 最初达成一致以来对 UML 的最大一次改革。对于一般用户来说,最明显的更改可能是

作者:马丁·福勒

2003 年 6 月 8 日

阅读更多…

博客

uml

包含和扩展

UML 用例图定义了用例之间的一系列关系。其中最著名的两个是包含和扩展。关于这两个关系的问题似乎比用例的任何其他部分,甚至 UML 中的任何内容都要多。

作者:马丁·福勒

2003 年 6 月 5 日

阅读更多…

博客

uml

收获平台

要通过收获来构建平台,首先不要试图构建平台,而是要构建应用程序。在构建应用程序时,您不要试图开发通用代码,而是要努力构建一个结构良好、设计良好的应用程序。

作者:马丁·福勒

2003 年 6 月 3 日

阅读更多…

博客

API 设计 平台

基础平台

基础平台是在构建在其之上的任何应用程序之前构建的。其理念是,您要分析需要该平台的各种应用程序的需求,然后构建该平台。一旦平台完成,您就可以在其之上构建应用程序。关键是在您开始应用程序工作之前,平台确实需要有一个稳定的 API,否则对平台的更改将很难管理,因为它们会对应用程序产生连锁反应。

作者:马丁·福勒

2003 年 6 月 3 日

阅读更多…

博客

API 设计 平台

重构克林格利

罗伯特·克林格利最近 的一篇文章 在重构界引起了一阵骚动,因为他批评了重构。菲利普在 重构邮件列表 上以一种异常克制的语气总结了对此的回应:“……他听起来像是一个‘怀疑论者’,他评论那些他根本不想读的书。”

作者:马丁·福勒

2003 年 6 月 3 日

阅读更多…

博客

重构

UML 作为草图

在这种 UML 模式 中,开发人员使用 UML 来帮助传达系统的某些方面。与蓝图一样,您可以使用草图进行正向工程或逆向工程。正向工程是在编写代码之前绘制 UML 图,而逆向工程是从现有代码构建 UML,以便于理解。

作者:马丁·福勒

2003 年 5 月 28 日

阅读更多…

博客

uml

UML 作为编程语言

如果您可以详细说明 UML,并为软件中需要的所有内容提供语义,那么您可以使 UML 成为您的编程语言。工具可以获取您绘制的 UML 图,并将它们编译成可执行代码。

这样做的好处是,UML 是一种更高级的语言,因此比目前的编程语言更有效率。

作者:马丁·福勒

2003 年 5 月 28 日

阅读更多…

博客

uml

UML 作为蓝图

长期以来,受工程影响的软件流程一直在寻找一种方法来表达软件设计,以便可以将设计交给一个单独的团队来编写代码,就像在建造桥梁时使用蓝图一样。这将使稀有且昂贵的软件设计师能够专注于蓝图,而许多更便宜的程序员则专注于构建。

作者:马丁·福勒

2003 年 5 月 28 日

阅读更多…

博客

uml

UML 模式

当我查看 UML 2 时,我发现人们对 UML 中应该包含什么内容有不同的看法,因为人们对 UML 应该是什么有着不同的基本看法。在思考这个问题时,我想出了三种主要的 UML 思考分类:UML 作为草图UML 作为蓝图UML 作为编程语言。(有趣的是,史蒂夫·梅勒也独立地提出了相同的分类。)

作者:马丁·福勒

2003 年 5 月 28 日

阅读更多…

博客

uml

什么是 Bliki

我一直在关注博客领域的发展,而且不可能不想加入其中。但我对博客也有一些不那么热衷的地方。首先是名字,正如我的同事迈克·图所说,“博客听起来像是我应该付钱给医生才能去除的东西”。然而,除了名字之外,博客文章的短暂性也是一个问题。简短的文字在阅读时可能很有趣——但很快就会过时。我发现写作太难了,不想把它花在转瞬即逝的东西上。

作者:马丁·福勒

2003 年 5 月 26 日

阅读更多…

博客

网站

学习对象的语言

如果我想教人们面向对象,我应该使用哪种语言?

作者:马丁·福勒

2003 年 5 月 23 日

阅读更多…

博客

语言特性 编程环境 Ruby

平台构建

可以使用重构来构建平台吗?

作者:马丁·福勒

2003 年 5 月 18 日

阅读更多…

博客

重构

聚合和组合

在 UML 中,很少有东西比聚合和组合更令人沮丧了,尤其是它们与常规关联的不同之处。

作者:马丁·福勒

2003 年 5 月 17 日

阅读更多…

博客

uml

什么是失败

CHAOS 报告称只有 34% 的项目取得成功。

Standish Group 的 CHAOS 报告 多年来一直在谈论 IT 项目浪费了数十亿美元。34% 的成功率实际上比 2001 年的 28% 有所提高。但我们所说的“失败”到底是什么意思?

作者:马丁·福勒

2003 年 5 月 15 日

阅读更多…

博客

指标 流程理论

受保护数据

在我的类中使用 protected 访问修饰符来处理数据是良好的面向对象设计吗?

作者:马丁·福勒

2003 年 5 月 14 日

阅读更多…

博客

封装 语言特性

访问修饰符

面向对象的语言将程序划分为称为类的模块。每个类都包含特性,特性由数据(字段)和方法组成。(并非所有语言都使用这些术语,但为了便于说明,我们将使用它们。)语言对其他类可以访问类的哪些特性有各种规则,这些规则通常基于应用于类的访问修饰符。

作者:马丁·福勒

2003 年 5 月 13 日

阅读更多…

博客

封装 语言特性

类图上的集合

假设你有一个专辑类,它有一个音轨的 ArrayList。如何在 UML 类图中显示这一点?

作者:马丁·福勒

2003 年 5 月 12 日

阅读更多…

博客

uml

大型敏捷项目

一个常见的问题是,大型项目是否可以使用敏捷技术完成。毕竟,许多敏捷方法是为较小的项目设计的,而它们所抵制的重量级思想在更大的项目中更需要。

作者:马丁·福勒

2003 年 5 月 10 日

阅读更多…

博客

敏捷 敏捷采用 团队组织 项目规划

组件与混沌世界

为什么混沌理论表明组件组装可能并不像它看起来那么容易。

作者:Rebecca Parsons

2003 年 5 月

阅读更多…

ieeeSoftware

错误的架构

《软件开发》杂志将我的著作《企业应用架构模式》第 7 章(分布式策略)改编成了一篇文章发表在他们的杂志上。我怀疑他们喜欢它是因为它的语气和其中包含的分布式对象设计第一定律。

作者:马丁·福勒

2003 年 4 月 1 日

阅读更多…

应用架构

模式

我在 IEEE 专栏中谈到了模式对理解软件设计的重要贡献。

作者:马丁·福勒

2003 年 3 月

阅读更多…

ieeeSoftware 写作

加拿大 XP/敏捷方法扩展研讨会

随着 XP 和其他敏捷方法的普及,关于如何将 XP 扩展到 10-12 人以上的团队的问题开始浮出水面。2003 年 2 月中旬,在加拿大艾伯塔省班夫举行了一次专门讨论该主题的研讨会。在本文中,我们报道了 Ken Schwaber 和 Martin Fowler 以及其他领先实践者的主题演讲。

作者:Jonathan Rasmusson 和 Jim McDonald

2003 年 3 月

阅读更多…

文章

敏捷 会议 过程理论

领域逻辑和 SQL

在过去的几十年里,我们看到面向数据库的软件开发人员和内存应用程序软件开发人员之间的差距越来越大。这导致了许多关于如何使用数据库功能(如 SQL 和存储过程)的争论。在本文中,我将探讨是将业务逻辑放在 SQL 查询中还是放在内存代码中的问题,主要考虑基于一个简单但丰富的 SQL 查询示例的性能和可维护性。

作者:马丁·福勒

2003 年 2 月

阅读更多…

文章

数据库

使用 XML 写作

很长一段时间以来,我一直在使用 XML 进行大部分写作,甚至到了用 XML 写我的上一本书的程度。当我向人们提到这一点时,他们问了我很多关于我的经历的问题,这足以促使我写这篇关于整件事的小文章。

作者:马丁·福勒

2003 年 1 月

阅读更多…

文章

写作

何时创建类型

关于何时为值创建新的用户定义类型(或类)的指南。

作者:马丁·福勒

2003 年 1 月

阅读更多…

ieeeSoftware 编程风格


所有标签

API 设计 · 敏捷 · 敏捷采用 · 分析模式 · 应用程序架构 · 应用程序集成 · 不好的事情 · 棋盘游戏 · 构建脚本 · 认证 · 协作 · 计算机历史 · 会议小组 · 会议 · 持续交付 · 新冠肺炎 · 数据分析 · 数据库 · 设计 · 词典 · 分布式计算杂志 · 消遣 · 多样性 · 文档 · 领域驱动设计 · 领域特定语言 · 家庭 · 封装 · 企业架构 · 估算 · 事件架构 · 演进式设计 · 经验报告 · 说明性架构 · 极限编程 · 前端 · 小工具 · 生成式人工智能 · ieeeSoftware · 信息平台 · 互联网文化 · 访谈 · 语言特性 · 语言工作台 · 精益 · 遗留系统改造 · 法律 · 指标 · 微服务 · 移动 · noSQL · 对象协作设计 · 解析器生成器 · 摄影 · 平台 · 播客 · 热门 · 演示技巧 · 隐私 · 过程理论 · 生产力 · 编程环境 · 编程风格 · 项目规划 · 招聘 · 重构 · 重构边界 · 需求分析 · Ruby · 安全 · 演讲视频 · 团队环境 · 团队组织 · 技术债务 · 技术领导力 · 测试类别 · 测试 · ThoughtWorks · 工具 · 旅行 · UML · 版本控制 · Web 开发 · Web 服务 · 网站 · 写作

2024 · 2023 · 2022 · 2021 · 2020 · 2019 · 2018 · 2017 · 2016 · 2015 · 2014 · 2013 · 2012 · 2011 · 2010 · 2009 · 2008 · 2007 · 2006 · 2005 · 2004 · 2003 · 2002 · 2001 · 2000 · 1999 · 1998 · 1997 · 1996

所有内容