项目小结

任务简述:

选择合适的 API 风格,实现从接口或资源(领域)建模,到 API 设计的过程
使用 API 工具,编制 API 描述文件,编译生成服务器、客户端原型
使用 Github 建立一个组织,通过 API 文档,实现 客户端项目 与 RESTful 服务项目同步开发
使用 API 设计工具提供 Mock 服务,两个团队独立测试 API
使用 travis 测试相关模块

项目

github

个人总结

我们后端讨论之后用了swagger生成API文档(设计如下),然后和前端同学拿到API文档再分开写
后端部门每个人负责一部分,我负责test_comment.go,api_comment.go,model_comment.go,model_comments.go部分,然后对api_article.go和api_user.go做了初次merge后的测试以下是一些初次测试截图
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

初次测试遇到了一些问题,由于api_article和api_user是同学分开写的,所以数据库不在一起,没办法一起测试,我试着用sqlite工具去合并同学的两份my.db文件,但是由于虚拟机的缘故,配置了很久sqlite安装成功却无法使用,找了很多办法也由于晚上工作效率不高花了很长时间也没能成功,最后就分开测试了两份代码,都可以通过,但是由于我编写的comment部分是在两份合并的基础上才能测试,所以没能测试。api_article和api_user单独go run main.go test.go都是可以的,api_article和api_user,api_comment在swagger的API测试上也都通过了
在这里插入图片描述
然后后续的测试和代码修改就交给了其他同学,我去找了一些文章和评论的资料还有修改为同学需要的指定格式。

文章的来源是:程序员 专题

这次项目,我承担的任务比较少,一方面是由于自身能力的不足,一方面是时间安排导致,小组第一次讨论我不幸错过了,后面由于其他事比较多所以也耽搁了很多任务,大家都已经做出了成品时我还在忙其他的拖了团队后腿很惭愧,幸运的是团队成员原谅了我并帮助我修改代码最终成功运行,做了一个功能不那么完善但是基本功能实现细节也比较完整的成品,感谢队友。

问题总结:

  1. swagger网页打不开,或者显示不全 ——耐心等待或者找个网络好的地方
  2. golang同一目录下的包不需要像别的语言主动去导入其他文件,但是我编译时一直报错说一些基本功能函数找不到,而那些函数就在同目录的common.go中,这个问题很奇怪,最后我就把common.go里的内容干脆放进了api_comment.go中测试——但最终问题的解决很简单:重启虚拟机就好,重启虚拟机之后还有一些其他的问题也都消失不见了
  3. 不要直接log.fatal,应该要先判断err是否为空,这里有些地方我直接用了log,导致一直报错,队友帮我修改时一直没找到原因,最后发现是这里的问题
  4. 测试comment时一直报错说put了四个参数,但是只需要两个,这是因为我们在这里用到的是键值对数据库存储,所以考虑也许可以把一部分参数整合成一个结构体作为值,article作为键,但是这样实现有些复杂了。
  5. 文件管理:后端大家一开始讨论的是各自一个分支,自己写的时候这样没什么问题,但是测试和遇到依赖的情况下就会出问题:我测试时需要用到其他人写好的代码,所以下载了五个分支的代码进行测试,而且我经常有多备份的习惯,所以又备份了一份到桌面,队友的代码里包含的路径是homework下的和我的不一致,所以又只能新建了homework路径又备份了一份去测试,结果由于文件太多,有点混乱,当晚测试完后push了就关机去睡了,结果第二天通知其他人测试完成,前端同学测试时报错的却还是前一天已经解决的问题,原来是我没push成功,但是这时打开虚拟机,由于前一天本来就是很困的情况下完成的测试,开机后发现自己已经忘了自己测试成功的是哪个文件夹了,打开七八个文件夹一个一个查看所有的文件已经分不出彼此了,加上我出奇差的记性,所以只能让其他同学重新测试了
  6. 团队交流:前后端各自测试都完成后,合并测试时又出了很多问题,大家各改各的,但是没有通知其他人,也没用Push到项目上,所以一个说测试过了,另一个拿来测试却还是报错,后来才知道问题是自己改了没有通知其他人。

学习总结:

  1. 对于前后端的开发,在这次项目前我是十分陌生的,而且一直不明白前后端是怎么对接上的,虽然之前知道接口,但是不知道这个接口怎么使用,这次项目中,基本上就是把服务器端看作后端,客户端看作前端而,而在之前的学习中我们已经实现过了客户端和服务器端,所以这次任务也就学习到了前后端是如何对接上的。
  2. 学习了创建组织管理团队项目
  3. 学习了reatful的API设计——上次作业是用markdown设计API,这次用swagger更加规范也简单明了,关键是统一而且可视化方便了团队管理项目
  4. 学习了使用框架等现有工具——swagger,vue,boltDB等
  5. 最重要的是学习了团队项目的合作,因为之前基本没有过团队项目的经历,以前的课程组队只是两个人抱团,所以分工什么的明确了就各做各的,遇到问题讨论一下,也不用约定时间,但是这次讨论大家约定了时间,但我忙着别的事错过了讨论很对不起大家,然后看了聊天记录了解了自己的任务也没回复大家就自己设置了计划去做了,而没有和大家商议时间进度的问题,导致大家以为我失踪了,到后面其他人已经开始了大部分工作我才开始做的一部分也拖了项目进度。还有交流上的问题,大家更改个人项目并不一定只是影响“个人”,还有可能在不突出的某个小接口细节上会修改接口影响到其他人,所以交流是很重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值