不知不觉,研一下学期就要结束了,高软也要结课了。本学期高级软件工程使得我收益许多,下边进行总结。
首先是工具的使用,vscode,git,vim等。如vscode的无鼠标操作以及vscode为什么这么好用——简洁而聚焦的产品定位,贯穿始终 进程隔离的插件模型 UI 渲染与业务逻辑隔离,一致的用户体验。git merge与git merge --no--ff,如何在一个开发团队中使用好git。正则表达式的高级使用。
其次,加深了对软件工程的理解。软件工程是将系统的、科学的和严密的方法应用于设计、开发、运行和维护软件,以及对这些方法本身的研究,也就是将工程应用于软件,它由方法、工具和过程三部分组成。如何编写高质量代码?1. 通过控制结构简化代码2. 通过数据结构简化代码 3. 一定要有错误处理 4. 注意性能优先的代价 5. 拒绝修修补补要不断重构代码。理解了准确获取需求的不易。
通过对menu代码的分析,更深入的理解了线程安全,设计模式,回调函数的使用,函数闭包等问题,在这之前都是只了解了概念。还有更加规范的代码风格:
缩进:4个空格;
行宽:< 100个字符;
代码行内要适当多留空格,如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后应当加空格。对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉一些空格,如for (i=0; i<10; i++)和if ((a<=b) && (c<=d));
在一个函数体内,逻揖上密切相关的语句之间不加空行,逻辑上不相关的代码块之间要适当留有空行以示区隔;
在复杂的表达式中要用括号来清楚的表示逻辑优先级;
花括号:所有 ‘{’ 和 ‘}’ 应独占一行且成对对齐; 不要把多条语句和多个变量的定义放在同一行;
以及软件设计中的常用方法:KISS原则,本地化外部接口,先写伪代码等。也理解了组合对象优于继承的原因。
最后是团队,软件工程开发离不开团队。如何建设高效的团队?建设具有凝聚力的团队,设定有挑战性的目标,反馈,共同遵守的工作流程和框架。一个优秀团队的基本策略有哪些?
- 计划先行,也就是做出承诺之前先计划
- 完成概念设计
- 选择开发策略
- 完成初步规模估算
- 完成初步时间估算
- 评估风险
- 建立策略文档
- 制定配置管理计划
总结:
这一学期的软件工程使我更熟悉了开发工具,明白了如何规范代码以及对软件开发过程,团队等有了更深刻的认识。孟宁老师上课生动有趣,结合实例代码,易于理解,且积极解答群中的问题。高级软件工程是软院非常好的课程,十分推荐。
SA22225485