软件工程实践2017 个人作业——软件工程实践总结作业
一.请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
对于进入一个全新的领域的学习能力得到了提升,能够更好地发现问题并解决问题,对自己提升很大,也对将来做的项目更有工程化的概念,但是自己在这过程中会有逃避心理,因为是全新的领域总是会觉得不适,大概这就是走出了舒适区吧?所以将来还需要磨练,不能让自己呆在舒适区中,不愿移步。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
在项目里的和自己学习过程中写的,大约有1500行左右的python代码
2、软工实践的各次作业分别花了多少时间?(做一个列表)
这里只统计个人和结对作业
名称 | 时间 |
---|---|
第一次个人作业 | 30分钟 |
第二次个人作业 | 3天 |
第一次结对作业 | 1天 |
第二次结对作业 | 1天 |
个人技术博客 | 2小时 |
个人实践总结 | 2小时 |
3、哪一次作业让你印象最深刻?为什么?
数独生成,因为是放假期间发布的,比较有时间构思很多,而且对自己写的程序很自豪
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计记不清何时开始了,每周大约有14个小时
5、学习和使用的新软件;
Github Desktop,之前一直都是用命令行方式,用了桌面版觉得一切直观了好多
6、学习和使用的新工具;
无
7、学习和掌握的新语言、新平台;
Python Flask框架
8、学习和掌握的新方法;
思考项目中应该具有的抽象思维,而不是想的太细
9、其他方面的提升。
无
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
MapCluster::MapCluster()
{
srand(time(0));
memset(&maps, 0, 28 * 9 * 9 * sizeof(int));
int index = 0, tm[] = { -1,1 };
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
MapConditionGenerate((int (*)[9])maps[index++], tm[i], tm[j]);
int len = index;
for (int i = 0; i < len; i++)
{
for (int cnt = 0; cnt < 3; cnt++)
{
memcpy(&maps[index], &maps[i], 9 * 9 * sizeof(int));
CopyRow(maps[index], 3 * cnt + 1, maps[i], 3 * cnt + 2);
CopyRow(maps[index], 3 * cnt + 2, maps[i], 3 * cnt + 3);
CopyRow(maps[index], 3 * cnt + 3, maps[i], 3 * cnt + 1);
index++;
memcpy(maps[index], maps[i], 9 * 9 * sizeof(int));
CopyRow(maps[index], 3 * cnt + 1, maps[i], 3 * cnt + 3);
CopyRow(maps[index], 3 * cnt + 2, maps[i], 3 * cnt + 1);
CopyRow(maps[index], 3 * cnt + 3, maps[i], 3 * cnt + 2);
index++;
}
}
size = index;
}
这是个人作业-数独生成的代码,在写的时候对整个项目没有很好的代码架构导致整体代码很丑陋(如上),所以在开发中还是要有一个清晰的头脑和代码架构。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
很重要的一点是要在选项目做的时候和队友们商量好整个项目的构思,不然互相理解有出入的话,容易造成烂尾,虽然我们的项目大家都理解的很清楚,知道自己要做什么,不过依旧觉得这一点很重要
文中有误之处望各位大牛斧正!