gx works2编程教程
张贴者
万发上一教程讨论
什么是编程 ,我们试图实现什么,答案是构成有效程序的指令列表。 现在,我们将讨论如何着手这样做。每个程序都以一个规范开头,这可能是来自最新客户的几百页文档,也可能是来自教授的一小段文字,介于两者之间。
规范非常重要,规范编写是程序设计的一个完整分支,在此不做讨论。 重要的是,否则该规范是正确的,要使用众所周知的计算格言,将垃圾放入垃圾中。
几年前发生的一个例子是,我收到了一份Windows软件的10-20页规范。 规范似乎很合理,所以我开始研究它,我唯一注意到的是尽管没有包含诸如以下子菜单项的事实,但在程序菜单中为第一个下拉菜单指定了除“文件”之外的其他单词。通常在Windows程序的“文件”菜单上找到“打开”,“保存”,“另存为”等。 我向客户提出了这一点,并询问他们是否要考虑对明显是“文件”菜单的此菜单使用“文件”一词。
我得到他们正在考虑的答复,他们预计将花费大约2周的时间,而与此同时不采取任何措施。 现在我想起我还年轻,经验不足和愤世嫉俗,那时我以为他们不可能对规范进行太多更改,并且由于我无能为力,因此我继续进行研究,但前提是尽管需要修改的许多工作将是相关且有用的。 当我在两周后获得新规范时,这是一个错误,其中没有任何一件东西与我收到的原始规范有相似之处。 我必须完全重新开始。 这是规范错误的一种情况,以至于有关用户界面中单个单词的问题导致整个规范的完整更改。 我不得不说,对我来说,这是一个独特的例子,自那以来我再也没有一个错误的说明。
作为程序员,规范不是您的责任,请记住您的责任是创建计算机将遵循的指令列表。 但是,您有责任阅读和理解该规范。 如果规格不清楚,不合逻辑或不完整,则应在规范中提出问题。 遵循以下规范:
该程序将允许用户输入3个整数值。 确认前两个值的总和小于第三个值后,程序将计算三角形的面积,该三角形的边长为3个输入的长度。 然后它将为用户在屏幕上打印该区域。
那么,这有什么问题呢? 停下来想一想。
除其他错误外,您可能已经发现此规范不完整,因为它没有说明如果输入的前两个值的总和大于或等于第三个值应该怎么办,这是不合逻辑的,因为如果条件是输入的前两个值小于第三个值,则该值不能构成三角形的边长,因此无法进行面积计算,最后尚不清楚,因为它没有明确说明一旦打印了该值该怎么办对于用户区域,大概退出。
规范很少是完美的,并且在最终达成一致之前,要经历几次迭代并不少见。
因此,我们现在已经阅读了该规范,程序员现在有责任确保他们拥有实现该规范所需的所有信息。 请注意,规范将告诉您必须发生的事情,而不一定是如何实现的,因此,这是确保您知道如何解