summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--parnas-a-rational-design-process.rst46
1 files changed, 21 insertions, 25 deletions
diff --git a/parnas-a-rational-design-process.rst b/parnas-a-rational-design-process.rst
index fb09aaa..339ae5f 100644
--- a/parnas-a-rational-design-process.rst
+++ b/parnas-a-rational-design-process.rst
@@ -580,34 +580,30 @@ Page 17
Page 18
-----------------------------------------------------------------------------------
-(方梓安 翻)
+(方梓安 翻, 欧阳芳 改)
-VII. 现在, 如何假装理想的过程?
+VII. 现在, 我们如何假装理想的过程?
``````````````````````````````````````````````````````````````````````````````
-上文描述了我们希望遵循的理想过程,以及这一过程所产生的文档。 我们通过
-产生文档来假装这个过程。 我们用上文描述的顺序去试着产生一系列文件。 如
-果某部分信息缺失,我们在文档相应位置注明此处信息缺失,然后着手设计(设
-计时假定该部分信息会改变)。 如果我们发现错误,就会更改错误,并更改后
-续文件的错误。 将文档作为设计的媒介。在设计决定在所有层面都获准并纳入
-文档前,该设计决定无效。不管中途我们如何经常犯错,最终的文档都会准确、
-更容易理解。 我们不展示事情发生的方式,我们展示我们希望它们发生的方式,
-以及事情本身。
-
-甚至数学,许多人认为最理性的学科,也遵循上述过程。 数学家不断地改进他
-们的初始证明,通常最后的证明与初始证明很不一样。 初始证明往往来自痛苦
-的发现之旅。 有了初始证明后, 数学家的理解慢慢加深, 会去简化证明。最
-终, 数学家找到了一个更简单的证明,使定理的真实性更明显。 更简单的定
-理证明出版了,因为读者对定理蕴含的真理比对定理的发现过程更感兴趣。
-
-
-我们相信此种类比同样适用于软件。 阅读软件文档是为理解这个程序,而不是
-再现程序产生过程。 我们提供读者需要的合理化的文档。
-
-我们的文档在一个重要的方面与理想化的文档不同。 我们 **记录所有我们考虑
-过与排除的备选方案** , 包括记录文档的早期版本的决定。 对于每个备选方
-案,我们解释为什么当初会考虑它或为什么会最后排除它。 这样不管多长时间
-以后,我们(或维护者)有同样的问题就能从这些记录中找到答案。
+上文描述了我们希望遵循的理想过程,以及在这过程中会产生的文档。 我们通过
+产生(如果我们用理想的方式做事会产生的)文档来假装这个过程。 我们试图用之前描述过的顺序去产生文档。 如
+果我们无法得到某部分信息,我们在文档相应位置注明,然后着手设计(犹如期望这部分信息将会改变)。
+如果我们发现错误,就会更改错误,并更改后续文件的错误。 我们将文档作为设计的媒介,并且,在将设计决定纳入
+文档获得所有层面的批准之前,不认为已经做出了任何设计决定。不管中途我们如何磕磕绊绊,最终的文档都会更容易理解并且准确。
+我们不展示事情的实际发生过程,我们展示我们希望它们发生的过程,以及事情本身。
+
+即使是数学,许多人认为最理性的学科,也遵循上述过程。数学家勤勉地润色他
+们的证明,通常展示一个与他们最初发现的证明很不一样的证明。初始证明通常是痛苦
+的发现过程的结果。当数学家们致力于证明时,理解加深,证明简化。最
+终, 某一数学家找到了一个更简单的证明,使定理的真理性更明显。更简单的证明出版了,因为读者对定理的真理性感兴趣,而非发现的过程。
+
+
+我们相信类似推理同样适用于软件。阅读软件文档的人们想要理解这个程序,而不是
+再现程序的发现过程。我们提供他们需要的合理化的文档。
+
+我们的文档在一个重要方面与理想化的文档不同。 我们制定**记录所有我们考虑
+过与拒绝的备选方案**的政策,包括在文档的早期版本中记录的决定。 对于每个备选方
+案,我们解释为什么它被考虑并且为什么最后被拒绝。 几个月,几周,甚至几个小时后,当我们奇怪我们当初为什么那样做时,我们可以回去并找到原因。二十年后,维护者会有很多同样的问题,并会从我们的文档中找到他的答案。