第一部分 使用的编程语言,选择该语言的原因分析,编程经验(历史代码量等)。
1、使用的编程语言
应用的是python计算机程序设计语言,它是一种面向对象的动态类型语言,最初设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立、大型项目的开发
2、选择该语言的原因分析
由于教育环境的问题,和计算机接触时间一般要同龄人晚一些。所以在计算机的使用方面也欠缺很多,真正接触计算机应该是在大学期间,在学习《大学计算机基础》以及《C语言》这两门课程时,感觉很吃力。因为较身边的同学接受的慢,所以有些提不起兴趣。这个进入计算机领域起点是非常痛苦的,虽然这两门科目都通过了,但是自身的收获不大。因为《C语言》这门必须课是大一上的,所以现在研一的我已经几乎把大学所学都还回给老师了。因为对《C语言》的知识点已经忘了很多,并且通过老师介绍得知python是一种比较简单易学的编程语言,对日后的研究生学习工作也很有帮助,所以就选择了使用python来完成本次课程学习。
3、编程经验(历史代码量等)
因为是刚接触Python这个语言,还算是一个刚刚迈进们的初学者。通过一周的学习,我基本了解了Python的基本知识。并且通过视频学习,掌握了软件的基本操作。还进行了简单的编程。其中包括猜字游戏,计算连续子序列的最大和,和判定三角形的简单编程。下面展示求连续子序列的最大和问题的代码:
def maxSum(list): maxsum=list[0] for i in range (len(list)): maxtemp = 0 for j in range (i,len(list)): maxtemp = maxtemp + list[j] if maxtemp > maxsum: maxsum = maxtemp return maxsum if __name__ == '__main__': list = [1,3,-3,4,-6] maxsum = maxSum(list) print("maxsum is:",maxsum)
第二部分 使用的集成开发环境,与同类环境的优劣比较。
1、使用的集成开发环境
使用的集成开发环境是PyCharm ,其具备一般 Python IDE 的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。其实对于初学者的我来说对集成开发环境的选择不是很了解,鉴于同组人员使用的PyCharm,为方便后续讨论,所以也选择了PyCharm。
2、与同类环境的优劣比较
优点:这是真正的Python集成开发环境,拥有众多便利和支持社区。它的编辑、运行和调试功能统统开箱即用。
缺点:PyCharm存在加载较慢的问题,另外对于已有的项目,默认设置可能需要调整。
第三部分 使用的版本控制工具和平台,与集成开发环境的集成度分析,基本的操作介绍,给出代码仓库链接和用户名,给出一个具有多次提交记录的项目示例。
1、使用的版本控制工具和平台
使用的版本控制工具是Git,Git是目前最流行的版本控制系统,属于分布式版本控制器。使用Git前先要在GitHub创建代码仓库,或者获取你要应用的GitHub的链接地址。
2、集成开发环境的集成度分析
Pycharm是Python的跨平台集成开发环境,隶属于JetBrains,是一家捷克的软件开发公司。Python的集成开发环境有很多,比如在安装Anaconda时自带的Spyder,功能有限,调试不方便。Pycharm是专业用于Python程序开发的IDE。目前Pycharm有专业版与社区版两种,专业版收费,社区版免费,功能与专业版差别不大,只是专业版支持一些网页编程和远程调试功能,一般也用不到,社区版足够用的。
3、基本的操作介绍
PyCharm包含4个主要区分,分别为菜单工具栏、项目结构区、代码区、信息显示区。
4、给出代码仓库链接和用户名,给出一个具有多次提交记录的项目示例。
代码仓库链接:https://gitee.com/sundapang/1234.git
提交记录的项目示例图:
第四部分 使用的单元测试框架,描述该框架具有的特色的单元测试功能,给出一个单元测试的示例。
1、使用的单元测试框架,描述该框架具有的特色的单元测试功能
使用的是python自带的单元测试框架unittest,unittest可以组织执行测试用例,并且提供了丰富的断言方法,可以判断测试用例是否通过,最终生成测试结果。用uinittest单元测试框架可以进行web自动化测试。
unittest最核心的五个要素是TestCase,TestSuite,TextTestRunner,Fixture
1).TestCase
一个TestCase就是一个测试用例。 一个测试用例就是一个完整的测试流程,包括测试前环境准备(SetUp),执行测试代码(run),以及测试后环境的还原(tearDown)。 一个测试用例就是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。用户定义测试用例需要继承TestCase类。
2).TestSuite()
TestSuite()就是测试用例集合。 通过addTest()方法手动把TestCase添加到TestSuite,也可以通过TestLoader把TestCase自动加载到TestSuite,但没有顺序。 TestSuite可以嵌套TestSuite。
3).TextTestRunner
TestTestRunner是运行测试用例的驱动类,其中的run方法可以执行TestCase、TestSuite。
4).TextTestResult
测试用例的执行结果会保存到TextTestResult中,包括执行了多少用例,成功了多少,失败了多少等信息
5).Fixture
对一个测试用例环境的搭建和销毁,就是一个Fixture,通过覆盖TestCase的setUp()和tearDown()方法来实现。 比如在测试用例中需要访问数据库,那么可以在setUp()中建立数据库连接并进行初始化。如测试用例需要登录web,可以先实例化浏览器。 测试用例执行后需要还原环境。比如在tearDown()中需要清除在数据库中产生的数据,关闭数据库连接,关闭浏览器。 注意tearDown的过程很重要,要为以后的TestCase留下一个干净的环境。 原文链接:https://blog.csdn.net/hju22/article/details/85193574
2、给出一个单元测试的示例
写测试用例,测试三条边是否能够成三角形。
我们需要写三个脚本文件,一个实现判断judge.py,一个写测试用例test.py,一个组织执行测试用例suite.py。
1.实现运算功能的脚本
2.写测试用例
第五部分 整个环境配置过程的问题与解决方法、心得体会。
1、整个环境配置过程的问题与解决方法
1).如何将Pycharm代码上传到码云中?
2).对Pycharm的了解,与同类环境的优劣比较情况如何?
3).怎样列举一个简单的单元测试的示例?
解决方法:主要通过搜索相关操作指南,和对Pycharm的简介介绍来解决上述问题,同时多向进度较快的同学请教。
2、心得体会
由于对于老师课前安排的任务没有认真的准备,在本次课上没有实现安装使用的集成开发环境Pycharm,导致在课堂上的进度缓慢。并且对于集成开发环境Pycharm了解的也够深入,界面操作不熟悉,遇到不会的问题只能依赖百度搜索,还有就是将Pycharm代码上传到码云中,也是通过百度搜索指南完成的。这种学习的方法虽然可取,但最好在课前准备阶段完成。本次提交作业最难的步骤还是列举一个单元测试的示例。还没有完成,在下次课程中一定要完成。