一万小时的设计审查

(这篇文章最初发表在沃尔夫勒姆博客

制作一个真正契合在一起的大型软件系统并不容易。这非常重要,不过。因为它使整个系统不仅仅是各部分的总和。它给了系统无限的可能性,而不仅仅是一堆特定的特性。

但这很难实现。它需要在每个领域保持一致性和一致性,多年来。但我认为这是我们做得非常成功的事情数学软件.我认为,它实际上是中国长期发展的最重要的资产之一。数学软件.

这也是我个人深深参与的事情的一部分。

自从我们在21年前开始开发它以来,我是数学软件的核心功能。尤其是对于数学软件,有大量的设计要做。事实上,我觉得比数学软件1。

事实上,我刚刚意识到在过去的十年里数学软件在接近尾声的时候,我花了大约10000个小时做我们称之为“设计评审”的工作徳赢彩票游戏数学软件6,尝试在徳赢中国数学软件6.尽可能干净简单,所有的一切都契合在一起。

至少我是这样做的,做软件设计很像做基础科学。

在基础科学方面,一个从一堆现象开始,然后一个人试着深入调查,找出他们背后的原因,试图找出根本原因,终极原语,发生了什么事。

好,在软件设计中,一个从一系列功能开始,然后我们需要深入研究,找出到底需要什么样的终极原语来支持它们。

在科学中,如果你能很好地找到原语,那么,我们可以有一个非常广泛的理论,它不仅涵盖了我们从中开始的现象,但也有很多其他的。

在软件设计方面,这是同样的事情。

如果你能很好地找到原语,然后我们可以建立一个非常广泛的系统,它不仅提供了我们最初想到的功能,徳赢彩票游戏但还有很多。

这些年来,我们已经开发了一个非常好的设计评审流程。

我们从一些特定的新功能领域开始。徳赢中国然后我们得到了函数的大致描述,或者我们认为需要涵盖的内容。然后,我们来谈谈设计分析的难点。试图找出覆盖该区域的正确基本元素是什么。干净的,简单的函数,它代表了正在发生的事情的本质,并且相互配合,和其他的数学软件,以满足需要。

很久以前我常常独自做设计分析。

但是现在我们公司到处都是能帮忙的人才。重点是我们的设计分析小组,它与我们在特定领域的专家合作,开始提炼可能的设计。

在某个时刻,虽然,我总是参与其中。所以任何一个核心功能数学软件总是我个人设计审查过的东西。

我有时想知道我这样做是不是疯了。但是我认为让一个人最终审查所有的事情是一个很好的方法,以确保整个系统确实有一致性和一致性。当然,当系统大到数学软件6,对我的完美水平进行所有这些设计评审需要花费大约10000小时的时间,徳赢彩票游戏事实上。

设计评审通常是与两到二十个人之间的某个地方会面。(几乎总是通过网络会议完成,不是亲自来的。)

大多数时候,我们正在审查的内容都有一个初步的实现。有时参加设计审查会议的人会说:“我们认为我们已经基本解决了这个问题。”有时他们会说“我们看不到如何设置这个;我们需要你的帮助”。不管怎样,通常会发生的是我开始尝试已经建成的,对涉及的整个领域提出很多问题。徳赢彩票游戏

有时候有点奇怪。一个小时后,我将集中思考数论函数的高等数学。徳赢彩票游戏接下来的一个小时,我将集中讨论我们应该如何处理世界各地城市的数据。徳赢彩票游戏或者我们应该如何设置到外部控制设备的最通用的接口。

但是,尽管主题非常不同,原则在某种程度上是相同的。

我想在最基本的层面上理解事物,看看基本原语应该是什么。然后我要确保这些原语是被构建的,以便它们能够尽可能地适应数学软件-所以他们是尽可能容易让人们理解的,一起工作。

这通常是一个非常艰苦的过程。逐步抛光,直到尽可能干净和简单。

有时候我们会开始一个看起来很复杂的会议。十几个函数使用了一些奇怪的新构造,徳赢中国有各种奇怪的争论和选择。

很明显我们必须做得更好。但要弄清楚到底有多困难。

通常会有一系列渐进式的想法。然后是一些大的转变,这通常来自于对真正的核心功能必须是什么的更清楚的理解。

我们经常会谈论一些其他地方的先例徳赢彩票游戏数学软件.因为我们现在设计的东西越多,就越像以前那样数学软件,更好。

有几个原因。第一,因为这意味着我们正在使用以前在其他地方测试过的方法。

第二,因为这意味着我们现在所做的将会更好地适应已经存在的事物。

第三,因为这意味着那些已经熟悉其他事物的人数学软件会更容易理解我们正在添加的新内容。徳赢中国

但一些最困难的设计决策与何时打破先例有关。我们现在所做的与以前所做的任何事情有什么不同?什么时候它是一个足够新和大的东西,它有意义为它创造一些主要的新结构?徳赢中国

至少当我们为数学软件核心函数,我们的会议总是有一个非常明确的最终目标:我们要实际地写下参考文件-“功能页面”—我们一直在谈论的内容。徳赢彩票游戏

因为该文档将为最终实现提供规范,并提供函数的最终定义。

它总是以同样的方式工作:我会在电脑上打字,其他人都会通过屏幕分享来观看我的屏幕。实际上,我将为每个函数的功能编写参考文档。我会问每句话:“这真的正确吗?这就是它应该做的吗?”人们会指出我们所说的这个或那个问题。

这是一个很好的过程,我认为这在集中和捕获我们在设计分析中所做的工作方面做得很好。

在设计评审中发生的事情之一就是我们最终确定函数的名称。

命名是一个典型的设计评审过程。它包括尽可能深入地了解函数的实际作用,这是真的。徳赢彩票游戏然后找到一两个完美的词来抓住它的本质。

这个名称必须是一些对应该使用函数的人足够熟悉的东西,他们会立即知道函数的作用。但这足够笼统,不会限制人们对该功能的看法。

不知何故,这个名字的纹理也必须传达一些关于这个函数应该有多宽的信息。徳赢彩票游戏如果它相当专业,它应该有一个专门的发音名称。如果它很宽,然后它可以有一个更简单的名字,通常是一个更常见的英语单词。

我一直在测试候选人的名字。如果我想象组成一个解释函数作用的句子,提议的名字会符合那个句子吗?还是会有人总是说,名为x的函数会做一些被描述为y的事情?

有时,我们需要几天时间才能为函数找到正确的名称。但通常人们知道什么时候是对的。不知何故,这很合适。一个人可以立即记住它。

数学软件6,函数命名的一个典型例子是操纵.

想出这个名字花了很长时间。

我们创造了这个伟大的功能。但是应该怎么称呼呢?界面激活动态的现场直播
什么?

界面可能看起来不错,因为,毕竟,它创建一个接口。但这是一种特殊的界面,不是一般的。

激活可能是好的,因为它使事情变得活跃。但它还是太普通了。

动态的:再说一遍,听起来太笼统了,还有一点太技术化了。不管怎样,我们想用这个名字别的东西.

现场直播…这是一个非常令人困惑的词。当一个人读到它时,它甚至很难解析。它说“让它活着”,或者“这里有活着的东西”,或者什么?

好,过了一会儿,你会意识到,你必须更清楚地了解这个伟大的新功能在做什么。徳赢中国

对,它正在创建一个接口。对,它让事情变得活跃,动态的,活着。但真的,首先,它所做的是提供一种控制某物。它是连接旋钮和开关等,让一个人控制几乎任何事情。

那么像这样的词呢徳赢彩票游戏控制?再一次,很难理解。事情本身是一种控制吗?或者它在实施控制?

把手?再一次,太难理解了。

挽具?稍微好一点。但是,再一次,有些含糊不清。当然还有太多的“马”主题。

?那只存活了几天。但最后牛的笑话把它压垮了。

然后来了操纵.

起初,是,“哦,对于这样一个伟大而重要的功能来说,这个词太长了。”

但根据我的经验,对于一个功能来说,用一个相当长的词来表示它是“感觉正确的”。当然,也有一些关于它的笑话听起来“操纵”。徳赢彩票游戏

但当我们继续谈论功能的时候,徳赢彩票游戏我们刚开始叫它操纵我们之间。每个参加谈话的人都知道这是什么意思。徳赢中国当我们继续开发它的所有详细功能时,它似乎仍然合适。它给人一种控制事物的正确感觉,让事情发生。

所以就是这样操纵得名效果很好。

仍然,在发展中数学软件6,我们不得不说出近1000个函数。每个名字都必须和数学软件1已经持续了。

有时候,函数应该被调用是相当明显的。

也许它有一个标准的名字,比如说数学或计算,如定额纵裂.

也许它适合一些现存的名字家族,喜欢轮廓线三维.

但大多数时候,每一个名字都需要大量的工作来创造。每一个都是一个基本概念的最小表达数学软件工具。

不同于人类语言随着时间的增长和变异,数学软件必须一次性定义。以便实施,这样,计算机和使用它的人都能知道其中的一切意味着什么。

作为数学软件系统已经增长,在某些方面,设计变得越来越困难。因为每增加一件新的东西都必须徳赢中国适应已经存在的越来越多的东西。

但在某些方面也变得容易了。因为有更多的先例值得借鉴。但最重要的是,因为我们已经(我个人认为我已经)越来越擅长设计了。

结果的质量并没有改变多少。更重要的是,我们解决设计问题的速度越来越快。

今天出现的问题我几分钟就能解决,但我记得20年前解决类似问题需要几个小时。

这些年来,有相当多的“老栗子”:设计问题,我们只是不能破解。我们只是看不到一个干净的方法来添加某种特定功能的地方数学软件.

但随着我们在设计上的进步,我们已经解决了越来越多的问题。动态交互就是一个很好的例子。事实上数学软件其中有相当数量的问题得到了解决。

进行设计评审并确定数学软件是最令人满意的智力活动。它的主题极其多样。在某种意义上,总是很纯洁。

它涉及到大徳赢彩票游戏量的基本思想,以及如何将它们整合在一起,从而创建一个连贯的系统,所有这些都是有意义的。

这当然和我在科学上所知道的一样困难。徳赢彩票游戏但在很多方面,它更具创造性。一个人没有试图破译世界上存在的东西。一个人试图从零开始创造一个可以在其中工作的世界。

我用数学软件每天6。每天我都会运用无数的设计理念,使所有的部件都能顺利地结合在一起。

我意识到,对,那10000小时的设计审查值得花掉。即使只是为了我,我们在他们身上所做的将为我节省无数的时间来做更多的事情数学软件,更容易。

现在我期待着我们开始做的所有设计评审数学软件7,和数学软件8…

?斯vwin中国蒂芬·沃尔夫拉姆,有限责任公司 条款γ RSS