作业20181127-1 软件工程原则的应用实例分析

作业要求参照:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2446]

研一的上学期已经过去一大半,这期间令我印象最深刻的便是杨老师的“高级软件工程”这门课。与之前类似的课程不同,这门课的重点在于实践,有个人到结对再到组队,一步步将编码变得工程化。有了本科阶段的编程基础,通过实践与《构建之法》中的理论相结合,也使得软件工程在我的项目的应用更加得心应手。 

一、成功应用的案例

1.1 版本控制

这一段时间的学习中,应用的软件工程原则着实不少,其中收益最大的就是版本控制了。当然,在本科阶段我作为个人开发者也用过GitHub和开源中国的代码管理,但是之前没有机会参与多人开发,也并没有体会到版本控制对多人开发的优势。而这次通过版本控制实现了多人协同开发,对git有了更深入的了解,也掌握了一定的冲突处理方法。尤其是在微信小程序项目的开发当中,大家通过Coding.net协同工作十分顺利,而我在修改多个页面时频繁的check in也能够使其他开发人员及时看到更新。此外,版本控制也对误操作有很好的解决方法,在Beta发布前一晚我们在实验室改动代码时出现了较严重的错误,经过一段时间的调试无果后,最终通过版本控制对之前的版本进行改动解决了这个问题,大大减少了找bug的时间。

目前,我已经将Coding.net以及版本控制应用到我的日常编程中,在实验室的电脑写完后push一下,回到寝室用自己的电脑更新一下代码就可以接着写,这也取代了我之前使用优盘来回拷贝的繁琐过程。

1.2 单元测试

在本科阶段虽然将单元测试作为一门课程,但是在自己的开发经历中对单元测试的使用并不多,究其原因还是软件工程的意识太弱。而在结对编程中使用单元测试的结果十分不错,我们使用的是最近流行的Python语言,借此机会也学习了Python的单元测试方法。由于是结对编程,在一些功能的具体实现上还是会存在意见不统一的现象,双方有些逻辑上的漏洞在运行时可能没有察觉到,而通过单元测试可以较全面的进行测试,效果不错。

二、失败的经验

2.1 代码规范

代码规范这个问题在结对编程时就提出来过,当时开发人员较少,而且交流又比较频繁,统一代码规范实现起来还是很方便的。而在开发微信小程序项目的初期,我们并没有制定详细的代码规范,这个问题邹心老师也在我们的博客留言过,也正是因为这个问题,我在查看和修改他人代码时出现了一些问题。首先,在样式文件中找到对应的标签就是一件很耗时的事情,页面并没有按照一定的规范来放置类标签样式的位置。其次,我有一段时间没有编写过HTML的代码,忘记了div标签中类的书写规范,看到别人使用的连字符“-”而不是下划线“_”就在接下来的代码中一律使用连字符,这使得js文件中的方法名也使用了连字符连接(应使用下划线),好在由之后的小伙伴帮我改正过来,但这徒增了工作量。所以在开发初期统一制定一份代码规范是十分重要的。

猜你喜欢

转载自www.cnblogs.com/94V587/p/10065986.html