113
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | https://bbs.csdn.net/forums/2401_CS_SE_FZU?typeId=7771625&category=0 |
|---|---|
| 这个作业要求在哪里 | https://bbs.csdn.net/topics/619397949 |
| 团队名称 | 饭fun而谈队 |
| 这个作业的目标 | Alpha冲刺Day10 |
| 其他参考文献 | 《构建之法》、京东凹凸实验室代码规范 、《码出高效_阿里巴巴Java开发手册》 |
| 项目名称 | 吃饱bao |

自昨日站立式会议至今的项目进展:


成功完成了前后端的对接工作,确保了系统的整体协同运作。
对接过程中发现的问题已得到有效修复,包括但不限于数据同步、接口兼容性和用户体验等方面。
算法已部署至生产环境,并与后端项目成功对接,进行了全面的集成测试,验证了算法的稳定性和准确性。
存在的问题/遇到的困难:
在算法部署和测试过程中,遇到了性能瓶颈,需要进一步优化
心得体会: 技术深度与广度的平衡: 在前后端对接和算法部署的过程中,我深刻体会到了技术深度与广度的重要性。不仅要精通某一领域,还需要对其他领域有所了解,以便在项目中进行有效的跨领域沟通和协作。
持续集成与持续部署(CI/CD)的价值: 通过自动化测试和部署流程,我们能够快速发现并解决问题,提高了开发效率和产品质量。这强调了在现代软件开发中实施CI/CD实践的重要性。
性能优化的必要性: 面对性能瓶颈,我认识到了性能优化在项目成功中的关键作用。通过分析和优化数据库查询、缓存策略和代码效率,我们能够显著提升系统性能。
敏捷开发的优势: 通过站立式会议和敏捷开发流程,我们能够快速响应变化,及时调整项目方向,确保项目目标的实现。
成果如下:

commit记录:



细节的精确把控:在修改生成菜谱列表的样式时,我注意到即使是微小的像素偏差也可能导致整体布局的不一致性,这要求我在设计和调试时必须非常细心。
耐心应对复杂问题:在排查和修复bug的过程中,我遇到了一些隐蔽且复杂的技术问题,这些问题需要我投入大量的时间和精力去耐心分析和解决。
细致的测试覆盖:在测试小程序功能时,我发现要确保全面覆盖所有功能点需要极大的耐心和细致,以确保每一个细节都能得到充分的测试。
用户界面的精细打磨:在用户界面的设计上,我深刻体会到了细节的重要性。每一个图标、字体和颜色的选择都需要精心考量,以确保最终的用户体验。
细心是基础:在编程和测试中,细心是发现和解决问题的基础。任何一个小小的疏忽都可能导致严重的后果,因此我学会了在每个步骤中都保持高度的警觉和细致。
耐心是关键:面对复杂的技术难题,耐心是解决问题的关键。我学会了在遇到难题时不急躁,而是耐心地分析问题,逐步找到解决方案。
细节决定品质:在用户体验和界面设计上,我深刻认识到细节的重要性。每一个细节的精心打磨都能显著提升产品的品质和用户体验。

updateWebSocketConnection: function (category) {
// 如果当前有WebSocket连接,先关闭
if (this.data.socketTask) {
this.data.socketTask.close({
success: function () {
console.log('Previous WebSocket connection closed');
}
});
}
let url;
if (category === '菜谱') {
url = 'ws://118.31.244.23:7770/ws/search/recipe';
} else {
url = 'ws://118.31.244.23:7770/ws/search/cuisine';
}
this.setData({
socketTask: wx.connectSocket({
url: url,
}),
searchWord: []
});
this.data.socketTask.onOpen(function () {
console.log(url);
console.log('WebSocket connection established');
});
const that = this;
this.data.socketTask.onMessage(function (event) {
console.log('Message from server:', event.data);
let searchData = JSON.parse(event.data);
if (Array.isArray(searchData.data) && searchData.data.length > 0) {
let searchWord = searchData.data.slice(0, 6);
console.log(searchWord);
that.setData({
searchWord: searchWord
});
}
});
this.data.socketTask.onError(function (error) {
console.error('WebSocket error:', error);
});
},




存在的问题/遇到的困难
没遇到较大的问题和困难。
心得体会
在今天的项目开发中,我对寻找 bug 有了更深入的理解,业务逻辑是发现bug的前提,由于现在已经对小程序的业务逻辑非常熟悉,我很快确定了出现问题的部分。通过将代码简化到有问题的部分,我就可以更集中地分析和测试这部分代码。这种方法帮助我更精确地定位问题,并解决 bug。同时我也体会到了细心的重要性,在编程中,一个小小的细节错误,比如拼写错误、括号不匹配或者属性的设置错误,都可能导致整个程序崩溃或者行为异常,食光机点击加号没反应的 bug 就是由于我一开始编程时不够细致导致 的。对细节的关注是确保代码质量的关键。代码可读性也是编程中需要注意的地方,得益于编程时的注释,使得检查代码时不会混乱。
昨天站立式会议到现在的项目进展
编写了部分测试用例,修订十天的alpha冲刺博客。

存在的问题/遇到的困难
这是我第一次编写测试文档,一开始对于文档中各列的要求比较困惑,后面通过查阅apifox,完成了编写。
心得体会
今天是alpha冲刺阶段的最后一天,在这十天里,我对于软件的开发、测试以及团队合作都有了新的理解和认识。同时,这次任务也让我明白了实践和持续学习新知识的重要性,总而言之,本次项目给我带来了很大的收获。
昨天站立式会议到现在的项目进展
编写部分测试用例和测试随笔。

存在的问题/遇到的困难
由于这是我第一次尝试编写测试用例,我对于如何系统地构建测试场景、如何确保测试用例的覆盖面以及如何保持测试用例的可维护性感到迷茫。此外,我也在思考如何根据项目的需求规格和设计文档来准确地转化出有效的测试用例,以及如何平衡测试的全面性和优先级,确保关键功能得到充分的测试覆盖。
心得体会
在这次项目中,我首次尝试编写测试用例文档,这个过程对我来说既是挑战也是学习的机会。起初,我感到无从下手,因为缺乏经验,对于如何系统地构建测试场景、确保测试用例的全面覆盖以及维护测试用例的可读性和可执行性都感到迷茫。我意识到,测试用例的编写不仅仅是对功能点的简单描述,它需要深入理解需求,并且能够预见到各种可能的使用场景和边缘情况。



查询资料以后,得到如下解答:

但由于代码多处使用lambda查询如果修改工程量巨大,继续搜寻资料,要我们在Lambda查询之前加上:
TableInfoHelper.initTableInfo(new MapperBuilderAssistant(new MybatisConfiguration(), ""), 实体类.class);
但显然如果一个一个加不仅会影响源代码,还会增加代码的冗余度。所以,在这两个ServiceImplTest的启动函数中把需要用到的都提前加载,不仅不会影响原有代码也可以完成单元测试。

面对framework包下通用Service类测试中的lambda cache问题,我通过查询资料和实践,找到了一个既不影响原有代码也不增加代码冗余度的解决方案。这个过程让我认识到了持续学习的重要性,以及在面对技术难题时,耐心和细致的分析是解决问题的关键。
,我深刻体会到了单元测试的重要性以及在实际开发过程中遇到问题时解决问题的挑战。通过完成小程序端菜谱模块和美食模块的单元测试类编写,我不仅加深了对这两个模块功能的理解,也提高了我的测试编写能力。在修改bug的过程中,我学会了如何更有效地利用版本控制工具来追踪问题,并与团队成员协作解决问题。
昨天站立式会议到现在的项目进展
从mock接口转为对接后端正式接口,进行我的美食详情的编辑和删除的测试与debug

存在的问题/遇到的困难:华为云服务器不是很稳定,时常会遇到加载不出帖子或者返回空数据等报错,影响开发进度的推进
心得体会:很多细节到了测试才会发现存在问题或者不符合习惯性的操作逻辑影响用户体验,所以测试还是非常必要与关键的







