如何开发计算机软件
你或许有很棒的应用程序构想,但却不知道如何将其变成现实?学习程序开发语言需要时间,但许多成功程序开发者都是自学的。掌握基本知识后,你只需很少时间就能编写简单的程序。开发复杂的程序会更为困难,但是只要不断练习,你终有一天能实现心中的构想。
学习一种编程语言
- 01
确定最先学习的编程语言。如果你没有编写过代码,你可以选择针对初学者的编程语言,但该语言也需要足够强大,能帮助你实现自己的构想。有十几种语言可供选择,它们都有着各自擅长的领域和特色。其中最知名面向初学者的语言包括: C:最古老的计算机语言之一,但仍被广泛使用。C语言还可以帮助你在以后进一步学习C++和Java。 C++:当今最流行的语言之一,在软件开发领域尤其如此。学习C++需要较长时间,而精通该语言需要更长时间,但是你一旦掌握该语言,也就掌握了无数的机会。 Java:另外一种非常流行的语言,它几乎可以在任何操作系统上使用。 Python:这是一种较为简单的语言,你只需几天就能够掌握基本知识。但该语言同时非常强大,在服务器和网站上有着广泛的应用。
- 02
设置开发环境。编写代码前,你需要准备几个工具软件。这些软件被称为“开发环境”。根据编程语言不同,你所需的开发环境将有所不同。 代码编辑器:几乎所有程序开发者需要安装代码编辑器。尽管你可以使用NotePad等简单文本编辑器来写代码,但代码编辑器能高亮显示语法结构,自动完成许多重复编程工作,让程序开发过程更加简单快捷。Notepad++、TextMate和JEdit等工具都是非常知名的代码编辑器。 编译器或解释器:包括C和Java在内的许多语言都需要进行编译,然后才能够允许代码。因此你需要在计算机上安装相应语言的编译器。大部分编译器还有程序缺陷报告的功能。 IDE(集成开发环境):有些编程语言将代码编辑器、编译器和错误捕捉等集成为一个应用程序,该程序被称为IDE。你一般可以在编程语言网站下载IDE软件。
- 03
学习教程。如果你从来没有接触过程序开发,需要从基础开始。你可以在网上找到一些教程,帮助自己了解所选语言的基本概念。这些教程还会介绍语法、变量、函数和条件语句,以及如何将这些知识点结合在一起。 网上有很多地方提供高质量的教程,例如Udemy、Khan Academy、Codecademy和Code.org等。
- 04
下载一些示例和开源应用程序。通过阅读和修改示例代码,你可以学习使用编程语言完成程序功能。网上有大量示例和开源程序,你不仅可以访问这些代码,还可以编译并运行程序。最开始的时候,你可以先做个和你理想中的程序类型有关的小程序。
- 05
编写简单程序学习基础知识。从基础开始编写自己的代码。你可以编写一些简单输入输出程序。练习在复杂程序中所需的编程技能,例如变量和函数等。你还可以尝试在自己程序中设置断点。
- 06
加入编程开发社区。如果与有经验开发者讨论自己遇到的问题,是非常难得的机会。你还可以在各类网站和社区中找到许多志趣相投的开发者。你可以加入与自己语言相关的社区,然后查看所有相关内容。不要害怕提问,但要在提问前尝试自己解决问题。
- 07
学习任何编程语言都需要一定的时间。第一次坐在键盘前的时候,你无法编写出一个完整的程序(复杂程序)。高效使用编程语言需要时间,但是如果你能勤加练习,可以在短时间内提高编程速度和效率。
设计程序
- 01
撰写基本设计文档。在编写程序前,你可以撰写一些关于开发过程的文档。设计文档需要列出程序目标,并详细描述程序功能。这些文档可以帮助你集中开发程序主要功能。 设计文档需要描述程序所包含的所有功能,以及如何实现这些功能。 设计文档需要考虑用户体验流程,以及用户如何使用程序完成各种任务。
- 02
使用草图绘制程序各个部分。绘制程序示意图,表示出用户如何从一个部分到另外一个部分。简单的流程图就能满足基本程序的需要。
- 03
确定你想要编写程序的底层结构。程序的目标将决定你所选择的底层结构。如果了解自己程序结构是下面的哪一个,你可以将更多精力集中在程序开发上。
- 04
从"1-2-3"结构程序开始。这是最简单的程序结构,你可以通过该结构逐步熟悉编程语言。简单来说,1-2-3结构的程序运行后,首先向用户询问输入数据,然后显示计算结果。计算结果显示后,程序就结束了。 熟悉了1-2-3结构程序后,你可以学习REPL(读取-执行-打印 循环)结构。在该结构中,显示输出结果后,程序将回到第1步重复执行。 考虑管道结构程序。这类程序可以连续转换用户输入数据。这种结构适用于仅需少量用户互动的程序,例如RSS阅读器。这类程序由在循环内的一系列类构成。
创建程序原型
- 01
将精力集中在一个功能上。原型一般会集中测试程序的主要功能。例如,如果你想要创建个人备忘记事本,那么原型可能应该是日历和添加事件功能。
- 02
反复迭代直至功能实现。程序原型应该可以独立运行。它是其他所有功能的基础,因此需要确保其工作正常。你可以在迭代功能时不断优化程序,使之能够流畅高效地运行。 你可以对原型进行快速修改,并测试修改后的程序。 你可以请其他人来测试自己的原型,确保其功能正常运行。 创建程序原型时,可以不断进行修改。
- 03
不要害怕丢弃程序原型。因为原型目的就是用于实验。原型允许你在编写完整程序之前,测试所需功能是否能够实现。原型注定是测试品,因此不要害怕将其丢弃,然后回到画板重新设计。原型能够减少后续工作中的很多困难。
编写程序
- 01
编写伪代码作为程序的基础。伪代码可以确定项目结构,并作为详细编码的基础。伪代码和程序代码类似,但是不能够编译成程序。伪代码易于阅读,因此程序开发者可以利用伪代码思考实际编码中遇到的问题。 伪代码和编程语言一样有语法规定,而且与普通编程语言的结构相同。
- 02
拓展你的原型。你可以利用现有原型作为基础,进一步编写程序,或者将原型代码整合到完整程序结构中。无论采用哪种方式,你需要利用好原型程序,然后对其进一步开发。
- 03
开始编写代码。这是整个开发过程中的核心部分。编写代码一般需要占用最多的时间,而且需要经历许多次编译和测试,才能最终确保代码正确运行。如果你以团队方式开发程序,所有人都可以基于之前创建的伪代码进行工作。
- 04
为所有代码添加注释。使用编程语言的注释功能,为所有代码添加注释。注释不仅可以帮助其他人理解代码功能,而且可以帮助记住自己代码内容,以便自己以后查看时理解代码内容。
测试程序
- 01
测试每个新功能。添加的新功能都需要进行编译和测试。如果有更多人对程序进行测试,那么你就能找出程序的缺陷。你需要告知所有测试人员,程序还处于测试阶段,他们有可能在测试中遇到严重的错误。 该测试页常常被称为Alpha测试。
- 02
测试包括完整功能的程序。程序所有功能开发完成后,你需要进行一轮密集测试,测试内容覆盖程序的每个方面。这轮测试需要最多的测试人员参加。 该测试一般被称为Beta测试。
- 03
测试候选发布版本。你仍然可以对程序进行修改,增添新的资源,但要确保对准备发布的版本进行全面测试。
创建资源
- 01
确定程序所需资源。程序自身特点将决定所需资源情况。你是否需要自制音乐?插图?其他内容?在发布程序之前,你必须了解这些问题的答案。
- 02
考虑外包方式。如果你需要大量资源,但没有足够人力来创建,你可以考虑将资源创建工作外包。可能有很多自由职业者希望帮助你完成项目。
- 03
整合资源。你要确保资源不会影响程序功能,而且没有多余无用的内容。除非资源与程序直接相关,否则一般在开发最后阶段,才需要进行资源整合工作。例如很多电脑游戏就需要在早期整合资源。
发布程序
- 01
考虑以开源方式发布你的程序。这种方式运行其他人查看你的代码,并对程序进行改进。开源模式基于社区的发布方式,因此很难获得收益。这种模式也有其自身的优点,其他程序员可能会对你的程序感兴趣,使得该程序获得广泛的应用。
- 02
创建一个网络商店。如果你希望销售自己的软件,可以在自己网站上创建商店,以便顾客下载和购买软件。付费用户一般希望他们购买的软件功能完整,而且没有明显缺陷。 根据软件类型不同,你还可以选择各种服务商来销售软件。
- 03
对已发布软件提供持续支持。软件发布后,你很可能会从新用户那里收到错误报告。你可以根据严重程度对错误进行分类,然后开始解决相关问题。错误修正后,你可以发布新版本软件,或提供补丁修补部分旧版本程序。 如果你能够提供良好的售后支持服务,你将赢得顾客的青睐,并且以口口相传的方式得到推广。
- 04
为自己的软件做广告。用户必须首先知道你的软件,然后才会考虑使用。你可以向相关软件网站提供评测文章,提供免费使用版本软件,或者撰写媒体新闻稿,总之,使用各种方法向全世界推广你的软件。