-
这一次的项目地址是: https://github.com/Binly42/agenda-go2 ;
-
fork 自上一次的 agenda-go, 地址是: https://github.com/Binly42/agenda-go ;
-
我负责的是 服务端, 队友负责 客户端, 彼此基本独立, 靠 文档 和 约定 进行 约束与合作 ; 但是我的 API Blueprint 文档写的很烂, 也没有认真学习, 且开发进度比较慢, 甚至我还以为像这次作业这样规模比较小而且合作方面比较独立就没有特地制定 规范 之类的, 等等, 对合作影响颇大 ;
-
由于之前开发 agenda-go 时我本身就是按 C/S 套路来做的, 所以这次项目相当程度上是对之前的代码的 翻译 ;
-
但是, 这一次用到数据库而之前是单纯的文件存储, 我对数据库的东西不熟, 加上进度限制, 所以我直接用了 gorm 包 ; 另外, 我本来的抽象做得不好, 所以我之前的 文件读写相关, 甚至很多逻辑部分 的代码都需要重写, 而由于精力有限, 所以这次只是针对最低要求, 实现了
用户注册/登入/登出/查询所有用户/查询指定用户名用户
的五个较易实现的命令 ; -
另一方面, 由于我所设计的 API 的 URL 的 pattern 用原生的 mux 没那么好实现, 出于类似的原因, ... 我还用了 gorilla/mux 包 ;
-
本来, 应该尽量符合 HTTP 等的规范开发的, 但是出于简单考虑, 这一次直接用 Request 和 Response 的 Body 来作为传输载体, 连 GET请求 的 token 都是直接作为 Body (JSON格式) 的一个字段的 ;
-
还有就是, 在已经认识到大范围重构很难避免的情况下, 我也许应该果断一点, 而非试图补坑 ;
-
等等