软件工程(C编码实践篇)学习心得
孟繁琛 + 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程
http://mooc.study.163.com/course/USTC-1000002006
软件工程(C编码实践篇)是由中科大孟宁老师在网易云课堂上发布的一门关于学习软件工程开发思想的实践性课程,整门课程循序渐进的从一个helloworld小程序做到一个线程安全并且可重用的menu菜单系统。课程主要通过网课加实验楼实验的方式进行,课程讲解内容轻松又不失严谨性,实验简单却又极具代表性。总之,整门课程基于一个menu菜单小程序十分详细的讲解了一个程序应该如何健壮的成长。
结束了整门课程的学习,我感觉在链表结构的使用方面有了很多了解,实验二一开始让我们实现了一个命令行小菜单程序将程序分块。实验三则通过内部模块化将菜单程序的结构进行调整使其结构更为合理清晰。实验四引入链表内容,是菜单程序可以更方便的进行命令的添加。实验五引入回调函数的概念增强链表模块。实验六则进行了对与理论知识的阶段检测。实验七将菜单程序设计成一个可重用的子系统,最终我们的菜单程序做到了麻雀虽小五脏俱全,展现了一个合格的软件应该具有的一系列性质。整个实验过程中,老师多次强调代码规范问题,促使同学们养成良好的代码编写习惯。以下是实验报告的链接:
实验一:写一个hello world小程序
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
实验总结:软件=程序+软件工程。正如老师上课时多次强调的,一个完整的软件开发流程,真正实现软件功能的时间可能只会占40%,而对程序代码的优化与差错控制可能会花费更多的时间。一个好的程序不止是可完成基本功能,代码规范、可读性强、可重用、结构合理等等问题也会使一个程序大变样,而这些改变可能就是一次质的改变!在软件工程的开发过程中注重代码编写规范,设计规范,模块化,高内聚低耦合,线程安全,可重用等等,这门课程将会为我以后的代码编写带来巨大改变。
软件工程(C编码实践篇)学习心得的更多相关文章
- 软件工程线上课程(C语言实践篇)学习心得总结
林牧 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 软件工程的理 ...
- 软件工程(C编码实践篇)学习总结
吴磊 SA17225400 学习完了孟老师的软件工程(C编码实践篇),跟着老师一步步的完成了代码的编写,收获真的很大. 在学习这门课之前,我还不会用Linux,也没接触过Git.如今我已成能够在Lin ...
- 软件工程(C编码实践篇)总结
陆伟丹 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 对软件工程 ...
- 软件工程(C编码实践篇)课程总结
课程内容来自网易云课堂中科大孟宁老师的软件工程(C编码实践篇)课程. 课程页面 我觉得本门课程的设置非常科学,每一周课程都是基于上一周课程的进一步抽象,使得学习者能够循序渐进,逐渐加深对软件工程的理解 ...
- windows类书的学习心得(转载)
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- windows类书的学习心得
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- 我的MYSQL学习心得(十) 自定义存储过程和函数
我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...
- 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书
<C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...
- WCF学习心得----(四)服务承载
WCF学习心得----(四)服务承载 这一章节花费了好长的时间才整理个大概,主要原因是初次接触这个东西,在做练习实践的过程中,遇到了很多的问题,有些问题到目前还没有得以解决.所以在这一章节中,有一个承 ...
随机推荐
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- .NET Core系列 : 2 、project.json 这葫芦里卖的什么药
.NET Core系列 : 1..NET Core 环境搭建和命令行CLI入门 介绍了.NET Core环境,本文介绍.NET Core中最重要的一个配置文件project.json的相关内容.我们可 ...
- 路由的Resolve机制(需要了解promise)
angular的resovle机制,实际上是应用了promise,在进入特定的路由之前给我们一个做预处理的机会 1.在进入这个路由之前先懒加载对应的 .js $stateProvider .state ...
- 多线程爬坑之路-Thread和Runable源码解析
多线程:(百度百科借一波定义) 多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术.具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提 ...
- C++ 拷贝构造函数和赋值运算符
本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数.什么情况下调用赋值运算符.最后,简单的分析了下深拷贝和浅拷贝的问题. 拷贝构造函数和赋值运算符 在默认情况下(用户没有定义 ...
- ASP.NET Core 中文文档 第四章 MVC(3.9)视图组件
作者: Rick Anderson 翻译: 娄宇(Lyrics) 校对: 高嵩 章节: 介绍视图组件 创建视图组件 调用视图组件 演练:创建一个简单的视图组件 附加的资源 查看或下载示例代码 介绍视图 ...
- Android 工具-adb
Android 工具-adb 版权声明:本文为博主原创文章,未经博主允许不得转载. Android 开发中, adb 是开发者经常使用的工具,是 Android 开发者必须掌握的. Android D ...
- JavaScript将字符串中的每一个单词的第一个字母变为大写其余均为小写
要求: 确保字符串的每个单词首字母都大写,其余部分小写. 这里我自己写了两种方法,或者说是一种方法,另一个是该方法的变种. 第一种: function titleCase(str) { var new ...
- CSS3 @keyframes 动画
CSS3的@keyframes,它可以取代许多网页动画图像,Flash动画,和JAVAScripts. CSS3的动画属性 下面的表格列出了 @keyframes 规则和所有动画属性: 浏览器支持 表 ...
- ASP.NET 5 Beta 8 发布
ASP.NET 5 的路线图(详见 ASP.NET 5 Schedule and Roadmap : https://github.com/aspnet/home/wiki/roadmap ):Bet ...