第二章学习情况(2020.02.24-2020.03.01)

1理论学习

1.1 慕课第二章学习

学堂在线2-1节:对Python基本的脚本文件结构有了了解,同时对相关命名规律及方法有了一定认识。

学堂在线2-2节:根据课堂内容进行了简单的实践,加深了对Python编程的认知。

学堂在线2-3节:对pycharm的运行有了进一步了解,在pycharm环境中运行脚本文件前需要对相关脚本文件进行运行配置,否则有可能会出现运行错误!!例如第一章作业中含有argv变量的计算器脚本文件。同时,了解了pycharm中如何进行程序添加断点等进行调试。

学堂在线2-4节:编程规范、性能方面、对象处理、数据库处理、异常处理、函数、安全,借助工具进行静态检查,pylint工具进行检查。编写高质量代码。

学堂在线2-5节:代码性能分析与优化。满足正确性、可靠性、健壮性、可读性前提下,提高程序效率。利用profile工具对程序性能进行分析,找出可优化部分。结合简单的小程序进行了相关实践。

学堂在线2-6节:结对编程实践,老师利用赛车驾驶员与领航员之间的关系进行类比介绍。结对编程适用于较大的项目,最大限度发挥领航员的作用。视频中两位师兄的结对实际操作示范让我见识到了团队的力量。

学堂在线2-7节:就我个人而言,学习的专业用到软件工程及Python程序编程的极少,因此之前对软件工程了解较少。看了刘贺老师讲解的其对软件工程的理解,我加深了对软件工程的认识。当今社会,无论你是否是从事于软件编程,都需要掌握一定的编程技术。因此,在接下来的学习中,我将认真学习软件工程的相关知识,加深Python编程练习。

1.2《构建之法》讲义学习

本周进行了《构建之法》讲义中“个人开发技术”章节的学习,相关学习总结如下:

(1)工程师能力评估:团队合作能力,个人能力均需要过硬。前期尤其注意个人能力的培养锻炼,要如讲义中所说的那样,要能做到游刃有余。讲义上说成长:一是具体技术的掌握、二是丰富的经验、三是软件工程思想的提高、四是强大的职业技能。总的来说,就是职业成长从入门到大师需要花费很大的功夫。

(2)程序效能分析:就是让自己的程序跑得既快又好,讲义中通过列举一个程序例子来说明抽样和代码注入两种效能分析方法。最终得到结论:不要不经分析就盲目优化,会事倍功半,要掌握合适的分析方法。按照实例对码云在pycharm中的代码传输进行了尝试。

(3)单元测试:讲义中采用实例对单元测试的在团队合作中的作用进行了直观说明,并引出了好的单元测试标准的要求。即快速、准确保证程序基本模块的正确性。最后对回归测试进行了点明。

(4)技能的反面:在实际工作过程中,不能将时间都浪费在解决低层次问题上,这些问题应该在通过不断练习,变成不用经过大脑的自动操作!即在初始学习中解决!讲义中通过魔方和模仿的讨论来进一步说明了这个问题。

(4)练习和讨论:讲义要求学生管理自己的源代码,通过练习掌握编程的基本功。项目检查几效能分析,力求是自己的代码得到正常运行及优化。讲义中提到一些教训:一是保证正确性再提高效能,二是效能提高低于5%时不会有明显区别。

1.3 PEP8编程语言代码规范基本总结

 缩进:四个空格缩进(使用空格键)

连续行缩进:需要垂直对齐;条件连续行需要增加额外的缩进;多行结构中的结束花括号/中括号/圆括号是最后一行的第一个非空白字符或者是最后一行的第一个字符。

长度:行的最大长度限制所有行最多79个字符。

折叠长行:折叠长行的首选方法是在小括号,中括号,大括号中使用Python隐式换行。长行可以在表达式外面使用小括号来变成多行。连续行使用反斜杠更好。

空行:顶级函数和类的定义之间有两行空行;类内部的函数定义之间有一行空行。

导入:导入通常是单独一行

导入应该按照以下顺序分组::1.标准库导入;2.相关的第三方导入;3.特定的本地应用库导入。在每个导入组之间放一行空行。把任何相关__all__规范放在导入之后。

模块级别的内置属性:模块级别的内置属性(名字有前后双下划线的),例如__author__,__version__,应该放置在模块的文档字符串后,任意import语句之前,from__future__导入除外。Python强制要求from__future__导入必须在任何代码之前,只能在模块级文档字符串之后。

非英语国家的Python程序员:请用英语书写注释,除非你120%的确定,所有看你代码的人都和你说一样的语言。

非英语国家的Python程序员:请写下你的意见,在英语中,除非你是120%肯定,代码将不会被不讲你的语言的人阅读。

注释块内的段落之间由仅包含#的行隔开。

类名通常使用首字母大写字符串的规则。

类型变量名称应该首字母大写,并且尽量短,比如:T, AnyStr, Numo

函数名应该是小写字母,必要时单词用下划线分开以提高可读性。

常量通常定义于模块级别并且所有的字母都是大写,单词用下划线分开。

Python3中产生异常,使用raise ValueError(“message”)替换老的形式raiseValueError,”message”。

2 实践学习

由于Python编程基础较为薄弱,主要通过网络搜索及借助其他人员代码实践进行了分析学习与实践。

码云链接为:https://gitee.com/yang_ke666/software_engineering/blob/master

pylint学习与安装界面如下:

使用python的profiler.run进行程序测试,如下图界面所示:

3 学习时间安排

2020.02.24:学堂在线2-1节、2-2节及2-3节视频学习。

2020.02.25:学堂在线2-4节、2-5节及2-6节视频学习。

2020.02.26:学堂在线2-7节学习及课后讨论、测试题完成,《构建之法》讲义学习。

2020.02.27:PEP8编程语言代码规范学习、课后作业题编程练习。

2020.02.28:Python编程电子书学习并继续课后作业题编程练习。

2020.02.29:Python编程电子书学习并继续课后作业题编程练习。

2020.03.01:课后作业题编程练习的完成,完成各项任务汇总并上传作业。

 

posted @ 2020-03-01 15:01  小羊同学12  阅读(132)  评论(0编辑  收藏  举报