结对项目附加题

我们与刘乾组进行了互换。附加题目遇到的问题比较多,且有些直到最后也难以解决。

其中最主要的问题在于,刘乾组的代码在给我们的时候并没有完全封装成dll的样子,虽然文档里列出了一些接口,但实质上都是一些可以直接使用的类。虽然能实现所有的功能,但形式上并不是我们想象中接口的样子。我们尝试将他们的数据结构转换为我们的数据结构,之后再做一个适配层,利用他们提供的接口,实现我们所定义的几个接口。然而,由于在接口的设计上大相径庭,完成这一转换所需的工作量相当大。于是,最终的适配层放弃了进行数据结构及接口的转换,转而去抽象几个最基本的功能。比如出题、判卷。然后直接使用各自的接口实现这一功能。

所以,最终虽然我们成功地将双方的前后端结合到了一起,但期间的耦合性很高,也改动了一定的代码才完成了这一工作。

总结起来,我们认为在做附加题时主要的问题在于:

  • 没有给定标准的接口,所以每组的设计都不太相同
  • 接口设计思路大相径庭
  • 没有定义一些标准的数据结构

因此,整个附加题做下来问题很多,并没有达到预想的效果。

综上,若想保证前后端的正确衔接,需要前后端提前商定好接口,详细定义好每一个接口的前置条件、后置条件、副作用等,形成统一的规范。否则,前后若事先缺乏沟通,则最终试图连为整体时,就好像在做移植一样,东改改西改改,而不像是在通过接口连接起来了。

原文地址:https://www.cnblogs.com/fzyz999/p/4858122.html