介绍 C++ 开发
在我们编写和执行第一个 C++ 程序之前,我们需要更详细地了解一个 C++ 程序是怎么被开发出来的。看下图:
第1步:定义您要解决的问题
这是“做什么”的阶段,在这个阶段你需要找出你要解决的问题。定义你想要编写什么样的程序或许是最简单的一步,但也可能是最难的一步。但从概念上讲,它是最简单的。您只需要有一个深思熟虑的想法,你就可以进行下一步了。
这里有一些例子:
我想编写一个程序,允许我输入许多数字,然后计算平均值。
我想写一个生成2d迷宫的程序,让用户浏览它。如果用户到达目的地,用户将获胜。
我想写一个程序,读取股票价格文件并预测股票是涨还是跌。
第2步:确定如何解决问题
这是“怎么做”的阶段,你要在这个阶段决定用什么样的方式来解决第一阶段所提出的问题。这也是软件开发中最容易忽略的步骤。问题的关键在于有很多方法可以解决问题 – 但是,其中一些方法很好,其中一些方法却很烂。通常,程序员会一下子就想出一个解决方案,然后屁股一坐,就开始写代码。这种情况下通常会产出比较烂的解决方案。
通常,良好的解决方案具有以下特征:
- 它们很简单(不会过于复杂或令人困惑)。
- 它们有很好说明(特别是在提出任何假设或限制时)。
- 它们是模块化构建的,因此可以在以后重复使用或更改,且不会影响程序的其他部分。
- 它们非常稳健,可以在出现意外情况时容易修复或提供有用的错误消息。
当你脑袋一热,屁股一坐,然后立即开始写代码时,你通常思考的是“我想做这个”,因此你使用最快的实现方式来达成你想要的效果,然而这可能导致程序的健壮性非常脆弱,以后难以更改或扩展,或者存在大量Bug(技术缺陷)。
作为旁白... 术语 Bug 最早是由托马斯·爱迪生早在19世纪70年代提出!然而,该术语在20世纪40年代普及,当时工程师发现一只飞蛾卡在早期计算机的硬件中,导致短路。当时的错误报告和“飞蛾”实体现在都还在美国 Smithsonian 历史博物馆存放着。
研究表明,程序员只有20%的时间用于编写初始程序。另外 80% 用于维护,包括调试(删除错误),针对新需求进行更改(例如,在新的操作系统版本上运行),增强功能(用于改进可用性或功能的微小更改),或者内部改进(提高可靠性或可维护性)。
因此,你有必要在开始写代码前,花更多的时间去思考解决问题的最佳方法,提出更多的假设,以及未日后的维护做好计划,这样可以一路上节约你很多的时间,记住,思考两次,编码一次!
我们会在今后的课程更多地讨论如何有效地设计问题的解决方案。
第3步:编写程序
为了编写程序,我们需要两件事:首先我们需要编程语言的知识 – 这就是这些教程的用途!其次,我们需要一个代码编辑器。可以使用您想要的任何代码编辑器编写程序,甚至用windows系统的记事本或者Unix的vi都行。但是,我们强烈建议您使用专为写代码而设计的编辑器。如果你还没有,请不要担心。我们将简要介绍如何安装代码编辑器。
专为写代码而设计的编辑器具有一些使编程更容易的功能,包括:
1)行号。当编译器给我们一个错误时,行号很有用,因为一般的编译器报错会像这样:错误代码/错误消息,第64行。如果没有显示行号的编辑器,你要找第64行可能只有一行一行慢慢数了。
2)语法高亮和着色。语法高亮和着色会更改程序各个部分的颜色,以便更容易识别程序的不同组件。这是一个包含行号和语法高亮的C++程序示例(来自译者:我还不知道怎么通过markdown显示行号…):
#include <iostream> int main() { std::cout << "Colored text!"; return 0; }
我们在本教程中展示的示例将始终具有行编号和语法突出显示,好让它更容易看懂。
3)明确的字体。非编程字体通常使得难以区分数字0和字母O,或数字1,字母l(小写字母L)和字母I(大写字母i)。一个好的编程字体将区分这些符号,以确保不会意外地使用一个符号代替另一个符号。
在 C++ 中,您的程序通常称为 name.cpp,其中 name 替换为您为程序选择的名称(例如计算器,hello 等等)。.cpp 扩展则告诉您这是一个包含C++指令的 C++ 源代码文件。请注意,有些人使用扩展名 .cc 而不是 .cpp,但我们建议您使用 .cpp。
最佳实践 :将您的代码文件命名为 name.cpp,其中 name 是您选择的名称,.cpp 是指示该文件是 C++ 源文件的扩展名。
另请注意,许多复杂的 C++ 程序都有多个 .cpp 文件。在学习初期您一般用到一个.cpp文件就够了,但你需要知道的是,一个程序很有可能会有成百上千的 .cpp 文件(来自译者:比如虚幻引擎源代码)
一旦我们编写了程序,接下来的步骤就是将它转换成我们可以运行的东西,然后看它是否有效!我们将在下一节中讨论这些(4到7)步骤。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: C++ 教程简介
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论