您的位置:首页 > 其它

软件工程(C编码实践篇)学习小结

2017-11-12 13:19 246 查看
软件工程(C编码实现篇)学习小结 

(SA17225209--刘琳)

学习心得:

历时11个星期的软件工程学习画上了句号,经过这整个学习过程,还是感触良多。可以说,这门课让我接触到了一种新的教学理念。不同于传统的授课模式,高级软件工程采用了线上和线下结合的方式进行教学。线下讲解软工的思想和框架,线上从基础的代码和概念开始层层递进。课程中,涉及到的知识很广泛,给学生的自由度也相当高,提供了很多锻炼的机会和搜集知识的渠道。并且,每周一次的任务提交和作业检查也能给我们一些提醒和约束。

实验报告:

实验一:写一个hello world小程序

报告链接:http://blog.csdn.net/u010717556/article/details/77972480

内容简介:

首次实验要求相对简单,主要在于熟悉实验楼的实验环境,了解linux和VIM的基础指令。

实验二:命令行菜单小程序V1.0

报告链接:http://blog.csdn.net/u010717556/article/details/78073301

内容简介:

本次实验要求编码实验一个小的命令菜单,仍属于基础的程序编写,并不复杂。

但作为代码开发人员,尤其是像我一样非科班出身的学生,学习掌握规范的编码方式并形成自己的代码风格就相当重要了。

这不但提高了程序的可读性,而且对于一个基础薄弱的初学者,非常利于我提高学习效率,养成较好的习惯,为之后打下较好的基础。

实验三:内部模块化的命令行菜单小程序V2.0

报告链接:http://blog.csdn.net/u010717556/article/details/78174099

内容简介:

本次实验在代码规范化的基础上,开始介绍模块化的方法,设置接口,是程序更加清晰,增强可读性。

并且突出了链表的重要性。

实验四:用可重用的链表模块来实现命令行菜单小程序V2.5

报告链接:http://blog.csdn.net/u010717556/article/details/78240838

实验内容:

对前一次的模块化代码进行进一步完善,使功能更加完成,并且可重用。

本次实验中,接口的设置和linktable.c的写法上都出现了一些问题,实现的功能相对简单。

实验五:用callback增强链表模块来实现命令行菜单小程序V2.8

报告链接:http://blog.csdn.net/u010717556/article/details/78314815

内容简介:

本次实验沿用了之前的模块化思想和基本的代码内容,并且新增了一些脚本指令。通过这次学习,加深了对链表的认识,也更熟悉了开发环境的代码操作。并实现CALLback增强链表模块。

实验六:测试。

实验七:将menu设计为可重用的子系统

报告链接:http://blog.csdn.net/u010717556/article/details/78447062

内容简介:

本次实验,为menu子系统设计了接口,用户范例代码实现原来的功能;使用 make和make clean编译程序和清理自动生成的文件。使menu子系统支持带参数的 命令,最后使用getopt函数获取命令行参数。

通过这次实验,首先学到了使用make clean 进行清除。并学习了支持带参数的 复杂命令的方法。首次使用了fgets、getops等函数。

实验收获:

熟悉Linux实验环境:

ls:list列出当前文件夹中的所有文件
cd:change directory  cd..:转到上级目录
rm:删除文件
mv:移动文件
mkdir 创建文件夹
gcc:编译 选项 -o:可执行文件的名称 

Vim编辑器:

三种模式:一般模式、编辑模式、命令模式
命令模式中 wq:保存修改并退出
命令模式中 v:选择 y:拷贝 p:粘贴
编辑模式中 control+n:自动补全
代码设计中常见的方法:

KISS:keep it simple&stupid(一个函数、方法只做一件事)
using design to frame the code 设计与实现一致
including pseuducode
不要和陌生人说话
合理利用控制结构和数据结构 
一定要有错误处理

函数的可重入性:

可重入与线程安全的关系:可重入函数不一定是线程安全的,不可重入函数一定不是线程安全的
可重入函数的条件:不为连续的调用持有静态数据;不返回只想静态数据的指针,所有数据由函数调用者提供;使用本地数据,或通过制作全局数据的本地拷贝来保护全局数据;绝不调用任何不可重入的函数
进程与线程:线程独立拥有函数调用栈,共享进程的资源

养成良好的代码风格:

代码风格的原则是:简明,易读,无二义性。
缩进使用4个空格 
行宽必须限制,可为100字符。
在复杂的条件表达式中,用括号清楚地表示逻辑优先级。
每个“{”和“}”都独占一行,并成对对齐。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: