在深入学习任何特定编程语言之前,有志向的开发者都应该掌握这些构成所有软件开发基础的基本概念。
译自The Key Fundamentals of Programming You Should Know,作者 Jack Wallen。
对于许多人来说,软件开发是一个难以理解的事情,它被认为是那些在常春藤盟校学习计算机科学多年的超级聪明的人才能做的事情。
事实并非如此。
只要你愿意花时间学习一门语言并应用自己,任何人都可以成为一名开发者。但是,在你选择一门语言专注之前,你需要了解一些关于编程的关键知识,无论你使用什么语言或开发什么。
这样想吧。如果你决定要成为一名厨师,你需要了解烹饪的基本知识,然后再尝试学习米其林星级餐厅工作的精髓。跳过这些基础知识,你就会遇到困难。
但是,这些基础知识是什么?当我开始学习Python时,我意识到如果在直接上手之前了解这些知识,我会学得更好。
它们如下。
注释和文档
我们从一些相当不言自明的事情开始。当你编写代码时,你应该添加注释和文档。为什么?因为可能会有这样的时候,你要么必须重新审视旧代码(并且不记得你做了什么),要么必须由其他人接手。如果你不注释和记录你的代码,那么弄清楚发生了什么将是一项挑战。确保你了解如何向你选择的语言添加注释和文档(例如,一些语言使用 # 作为注释,而另一些语言使用 /)。
条件
条件相当简单。解释它们的简单方法是,如果一个条件为真,则运行一段代码,而如果条件为假,则运行另一段代码。Python 中的一个简单示例是:
name = "Jack"
if name == "Jack":
print("Welcome, Jack!")
else:
print("I don't know you.")
上面的条件是if name == “Jack”:。如果为真,则运行第一个 print 语句。如果条件为假,则运行第二个语句。条件是编程中非常重要的部分,它可以创建更复杂的代码。
创造力
你可能会疑惑为什么我在这个列表中包含创造力。事实是,创造力对于软件开发绝对至关重要。在某些时候,你会遇到一个问题,而通常的解决方案无法解决它。当这种情况发生时,你需要发挥创造力。软件开发中没有一条成功的道路,有时最好的道路可能并不明显。一个有创造力的人总是能够看到一个问题的多种解决方案,并且可以应用其中任何一个来找出最佳解决方案。不要犹豫,发挥你的创造力。
数据类型
每种编程语言都使用数据类型,因为你不能只将一段数据放入程序中,并期望它在不帮助语言理解类型含义的情况下工作。有一些通用数据类型在每种语言中都使用,例如整数、浮点数、布尔值和字符串。你不仅要了解你选择的语言中可用的数据类型,还要了解它们的工作原理和作用,这一点绝对至关重要。
流程控制
流程控制告知代码执行如何发生。有三种基本类型的流程控制:
顺序 - 代码逐行执行。
选择 - 代码基于条件执行。
迭代(循环) - 可以重复执行语句,直到满足条件。
函数
函数是一个代码单元,旨在执行特定任务。函数包含用于该任务的一组指令,可以在程序中重复使用,甚至可以在其他程序中重复使用。函数按名称定义,然后在整个程序中按名称调用。函数是模块化的,允许程序员抽象操作的细节,可重复使用,易于理解,并有助于简化测试和调试。
库和框架
库和框架可以轻松扩展编程语言的功能集,并允许你编写更复杂的软件,而无需每次都重新发明轮子。不过,库和框架是不同的。库是预先编写的模块的集合,其中包括可重复使用的函数、类和数据结构,以执行特定任务。另一方面,框架包含一组包含特定函数的库。这两种工具都可以使编程更高效、更灵活、更具可扩展性和更可靠。
循环
库和框架可以轻松扩展编程语言的功能集,并允许您编写更复杂的软件,而不必每次都重新发明轮子。不过,库和框架是不同的。库是预先编写的模块的集合,其中包括用于执行特定任务的可重用函数、类和数据结构。另一方面,框架包含一组包含特定功能的库。这两种工具都使编程更加高效、灵活、可扩展且可靠。
变量和语法
不要将每个值“硬编码”到您的程序中,您应该使用变量,它用作存储数据值的容器。通过使用变量,您可以使编写代码变得相当容易。最重要的是,您还可以根据需要更轻松地更改这些变量。例如,如果您在程序顶部设置name = “Jack”
并使用整个name
变量,如果您需要将“Jack”更改为“Olivia”,则不必遍历整个程序进行更改,您只需要更改变量一次。
与变量相关的是语法,它定义了语言的结构。鉴于大多数编程语言使用自己的语法,因此理解这一点非常重要,否则您的程序将无法工作。例如,您必须知道如何在您的语言中定义整数。例如,Python 用于指定数据类型(也称为“转换”)的语法如下所示:
x = str(3)
y = int(3)
z = float(3)
在 C++ 中,这将是:
int x = 3;
float z = 3;
char str[] = "New Stack";
版本控制
虽然您可能不需要在早期使用版本控制(例如Git),但最终它将变得至关重要(尤其是在与团队合作时)。版本控制允许您跟踪和管理对代码的更改。在与团队合作时,版本控制允许团队管理代码随时间的变化。对存储在版本控制系统(例如 Git)中的代码所做的每次修改都会在一个专门的数据库中进行跟踪,以便如果在代码中引入错误,可以回滚它。版本控制可以成为您作为软件开发人员最好的朋友。
好了……在踏入编程世界之前,您需要了解一些基本知识。我只粗略介绍了这些概念,所以您需要继续学习每一个概念,同时开始学习您选择使用的编程语言的复杂性和特殊性。