软件源代码指计算机软件制作中使用的原始程序的集合。它是软件开发中最初要实现的部分,它描述了软件本质的行为,而不仅仅是输入、输出的细节、表现形式或者用户操作界面。软件源代码包含编写软件所使用的所有语言,它是由形式语言组合而成的指令系列,控制计算机运行行为的核心代码,多半采用高级语言编写而成。
软件源代码也可以称为高级语言代码,或源代码。软件的源代码是由设计和开发软件的工程师设计编写的,用于编写软件程序的,具有特定逻辑的、有控制性的语言文件。软件源代码也可以用于编写汇编程序,但当汇编程序同时与其他程序一起编译时,它们以数据段形式被编译为二进制码。
技术上,软件源代码可以定义为指令系统,它们携带有单独的语句,函数和注释,用于描述某些功能,它们可能是由可行的模块、代码、结构、文档等组成,但通常不会使用低级语言。这些指令系统,尤其是其中可能包含的低级语言,可以被套用到软件编程中,实现软件程序功能的编写。
1、什么是源代码
源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
网站的基础也被称为源代码。然而,这不是一种编程语言,而是一种标记语言HTML格式。标记语言决定内容的结构。例如,使用HTML可以定义标题、段落或突出显示。HTML文档本身并不是一个程序,但可能包含一个程序,例如JavaScript代码的形式。类似的原则也适用于其他标记语言,如XML。
无论是家用电脑、现代智能手机还是科学计算机,电脑都是被一连串的二元系(on/off,loaded/not loaded,1/0)所指示的。虽然在计算机技术的早期,命令是以这种方式创建的,但我们早就转向用人类可读的编程语言编写应用程序了。乍一看,这听起来很奇怪,因为在外行看来,源代码也可能看起来像是混乱的胡言乱语。
在上下文中,“人类可读”被理解为术语的对应物机器可读”. 当计算机只处理数字值时,人类用文字交流。所以,就像一门外语一样,在学会编程之前,必须至少学习各种编程语言中的一种,常见的编程语言如下:
BASIC
Java
C
C++
Pascal
Python
PHP
JavaScrip
为了使计算机能够进一步处理程序员编写的源代码,需要有一个翻译两者之间的桥梁:
编译程序:此应用程序类型将源代码转换(编译)为进程可以理解并可以执行的代码。此机器代码以可执行文件的形式保存。
翻译:解释器逐行翻译源代码并直接执行。翻译过程比编译器快得多,但执行速度较慢,并且需要大量内存。
2、源代码的结构
大多数编程语言都是相互构建的,因此,某些相同的元素会在各种不同的程序代码中使用:
命令:说明通常是所有应用程序的基础。在这里,程序员明确了他们未来的程序需要做什么。例如,这样的命令可以触发某些计算或显示文本。
变量:变量是可以填充信息的空缺。它们在源代码中以指定的名称反复引用。
比较:大多数程序的结构是由在if-then方案上运行的查询来构建的,即命题逻辑的原理。如果输入了特定的真值,则会触发一个解决方案而不是另一个解决方案。
循环:查询也可以是源代码中循环的基础。命令会重复执行,直到达到某个值为止。当程序结束循环并运行其余代码时。
注释:在所有常用编程语言中,您可以对代码中的行进行注释。这使得在源代码中编写程序不考虑的文本成为可能。例如,注释被输入到源代码中,这样您或其他开发人员将来可以继续理解部分代码。
3、创建源代码
要编写源代码,真正需要的只是一个简单的文本编辑器——例如Windows上的记事本或Mac上的TextEdit。这样,源代码可以保存为纯文本(例如ASCII码编码或使用UTF-8编码),并使用正确的文件名结束编程语言。所以,如果你在硬盘上找到一个以“.cpp”结尾的文件,那么它实际上是一个文本文件,可能包含C编程语言中的代码。
除了操作系统的标准程序外,还有高级文本编辑器,通过各种功能简化源代码工作:
语法突出显示:每种编程语言都使用自己的语法。在许多文本编辑器中,首先选择要用以创建源代码的编程语言,然后程序会自动突出显示关键元素。阐明源代码结构的缩进也由程序自己创建。
自动完成:许多面向程序员的文本编辑器知道一种编程语言的相应命令,并自动完成这些命令,并自行关闭左括号。
括号突出显示:编程语言使用括号(或括号)将元素组合在一起。为了跟踪大型代码文档,一些文本编辑器会标记当前正在使用的括号。
代码折叠:在大多数情况下,源代码是通过缩进和括号分层构建的。为了在编程过程中提供更好的概述,一些文本编辑器允许您折叠位于更深层的源代码。这将隐藏当前不相关的部分代码。
编译器集成:一些文本编辑器可以使用带有编译器的插件进行升级。这使得直接测试刚刚编写的程序成为可能。
多行编辑:手工编写的源代码可能是非常复杂的工作。因此,开发人员喜欢在同一时间执行尽可能多的步骤。多行编辑允许他们对文档的多个部分进行相同的更改,从而节省时间。
大型项目可以通过特殊的程序更容易地实现。集成开发环境结合多种工具开发人员工作所需的(因此称为“集成”),加快了工作流程。这种ide的其他优点是能够无缝地相互通信并进行同步更改的工具。这些工具通常包括:
文本编辑器:文本编辑器也是开发环境的核心部分。虽然有一些可视化编程语言中存在的功能是通过图形元素的排列来实现的,绝大多数应用程序都是用经典的源代码编写的。作为IDE的一部分的文本编辑器与在环境外部进行编程的编辑器具有相似的功能范围。
编译/解释器:ide还包含编译器和/或解释器。这样,程序员可以直接从环境中运行他们的代码。
调试器 :调试器的使用对于合理的编程工作至关重要。此工具也是集成开发环境的标准组件。使用这个工具,您可以通过使用断点来中断程序流并分析执行的进程来搜索源代码中的错误(bug)。
链接器:为了完成编译过程,必须合并各种元素。链接器是执行此任务并创建可执行文件的程序。
版本管理:此工具记录您对源代码所做的所有更改,并可以还原旧版本的代码。这样,如果不小心出错,整个项目就不会有危险。当多个开发人员在同一个项目上协同工作时,版本管理工具也是必不可少的。
图形用户界面生成器:许多应用程序的一部分是图形用户界面(GUI)。当然,这也必须在源代码中定义。GUI构建器在设计界面时支持开发人员。以一种形式所见即所得编辑器,您通常可以使用拖放来组织图形元素。GUI构建器将这些转换为IDE中编程语言的函数。
4、网站源代码
即使网站的基本结构通常也被称为源代码,即使它是文档而不是程序。网站写在HTML标记语言。不过,一般来说,网站也包含用JavaScript等编程语言编写的元素并不少见。这两种语言的共同点是,它们可以在一个简单的文本编辑器中编写。
使网站的源代码可见的方法:
将其保存为HTML文件。通过右键单击或访问菜单,您可以轻松下载页面。选择“HTML only”作为文件类型是很重要的(如果保存整个网站,它将显示在浏览器中,包括所有图像,而不包含HTML标记)。然后可以用文本编辑器打开文件。不过,操作系统附带的简单编辑器很可能会以非常混乱的方式呈现代码。使用具有更广泛功能的文本编辑器,您可以以更易于阅读的形式显示源代码。
分析工具可以在“检查”(Chrome)或“检查元素”(Internet Explorer和Firefox)下的上下文菜单中找到。这将在窗口中打开一个区域。在这里,您可以显示源代码(除了其他函数)。这与第一个选项的区别在于,在这个开发工具中,您可以通过将鼠标指针移动到源代码上,直接选择网站上相应的元素。这意味着该工具向您显示哪一部分受代码行的影响。例如,网页设计专业人士会利用这一点来检查网站的呈现方式。
5、源代码的版权
源代码中包含了大量的工作和创造力。这就是为什么程序的源代码也是版权保护。与其他知识产权一样,未经许可不得传播第三方代码。这尤其适用于专有软件。
对于开源程序来说,情况就不同了。开源程序的代码更加自由,在GitHub、SourceForge或其他可比平台,开发人员使他们的源代码对其他程序员广泛可用。然而,开源程序的开发人员如果想使用代码,通常必须遵守某些条件,例如命名作者和许可证。