介绍 C++ 开发

发布于 2021-12-31 21:08:41 字数 2525 浏览 1248 评论 0

在我们编写和执行第一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

泛滥成性

暂无简介

0 文章
0 评论
1007 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文