113
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | https://bbs.csdn.net/forums/2401_CS_SE_FZU?typeId=7771625&category=0 |
|---|---|
| 这个作业要求在哪里 | https://bbs.csdn.net/topics/619397949 |
| 团队名称 | 饭fun而谈队 |
| 这个作业的目标 | Alpha冲刺总结随笔 |
| 其他参考文献 | 《构建之法》、京东凹凸实验室代码规范 、《码出高效_阿里巴巴Java开发手册》 |
| 项目名称 | 吃饱bao |
在本Alpha冲刺阶段,吃饱bao项目预期完成以下功能:
隐私授权、登录、首页(包括推荐菜谱和社区)、生成菜谱、扭蛋机、发布菜谱、发布美食、我的页面,为在有限时间内完成要求的任务,我们在团队第一天站立式会议中对项目本阶段要求作了具体说明,以下是总结:
进入小程序,首先是隐私政策页面,点击可查看隐私政策具体内容 若同意其全部内容则点击“同意”按钮后进入登录页面

同意隐私政策后,在授权登录界面,点击允许即可进入小程序,点击拒绝则直接退出小程序

进入首页浏览官方推荐菜谱轮播图,并可点击实现跳转到菜谱详情页,查看菜谱详情并进行点赞点踩,收藏和学习

首页“社区”部分展示推荐菜谱,用户可自由浏览并点击查看详情,下滑到一定长度会出现“回到顶部”,点击即可一键回到顶部,当用户下拉到最底部时会有弹窗提示“已到底啦”。

首页“社区”部分展示推荐附近美食,按照用户的地理位置进行推荐,当用户未进行授权时会推荐默认位置的美食,用户点击授权后会更据用户所在的地理位置进行推。用户可自由浏览并点击查看详情,下滑到一定长度会出现“回到顶部”,点击即可一键回到顶部,当用户下拉到最底部时会有弹窗提示“已到底啦”。

首页具备下拉刷新功能,下拉一下即可获取新内容!

点击搜索框即进入搜索界面,用户可进行相关搜索。

通过切换“菜谱/美食”的选择来决定用户要查找的类别并进行相应的搜索词推荐和结果获取。

菜谱搜索通过websocket实时与后端连接,通过发送关键词获取搜索提示词,用户点击感兴趣的推荐词即可进行搜索并展示结果。

菜谱搜索按照搜索关键词获取数据并展示,用户可点击感兴趣的帖子查看详情,滑动到一定距离会有“回到顶部”标签供用户选择是否要一键返回顶部。

美食搜索通过websocket实时与后端连接,通过发送关键词获取搜索提示词,用户点击感兴趣的推荐词即可进行搜索并展示结果。

美食搜索按照搜索关键词获取数据并展示,用户可点击感兴趣的帖子查看详情,滑动到一定距离会有“回到顶部”标签供用户选择是否要一键返回顶部。

在生成菜谱页面,默认提供一个食材输入文本框,用户必须先输入空的文本框才可以点击“+”新增文本框。同时当文本框>1个时,将在各个文本框后方出现“x”按钮,点击后即可删除对应的食材文本框。当删除得只剩一个文本框时,将会提示用户。

口味和工艺标签是非必选的,用户可以根据自己的偏好和想法选择相应的标签来生成符合自己口味的菜谱,也可以不选择标签。同时为标签间的选择和切换设计了交互效果。

输入完食材,选择好口味和工艺标签后,点击“一键生成”按钮即可根据所选检索出符合条件的菜谱,生成一个菜谱列表供用户查看。若没有生成任何符合条件的菜谱,将根据我们的生成机制为用户提供几条可行性强的建议供用户调整。

在生成的菜谱列表,点击相应的菜谱即可进入查看详情。在详情页提供点赞、点踩、收藏、学习四种交互。

菜谱详情的右上角提供返回上一页的导航,点击可返回菜谱列表页面,用户可以继续选择菜谱进行浏览。





























团队协作与沟通的重要性:
在项目开发过程中,前后端团队之间的积极交流显著提高了对接速度。通过明确分工,团队成员能够高效协作,互相配合,从而提升了整体的工作效率。
关注细节:
在编写接口的过程中,尽管我们在短短两天内完成了开发,但仍然遗漏了一些关键细节。这导致在测试阶段需要进行多次修改,提醒我们在快速开发的同时,必须保持对细节的高度关注。
熟练掌握 Git 以加强协作:
之前的项目大多是个人项目,使用 Git 的操作相对简单。通过本次团队项目,我对 Git 的高级操作(如合并、冲突解决等)有了更深入的理解,这促进了团队的协作效率。
项目部署:
项目成功部署在服务器的 Docker 环境中,能够持续对外提供接口。通过这次实践,我对 Docker 的使用更加熟练,并在服务器管理方面积累了经验,学会了合理分配服务器内存,关注 CPU 性能,避免服务器崩溃或数据库故障。
性能优化的必要性:
面对性能瓶颈,我深刻认识到性能优化在项目成功中的关键作用。通过分析和优化数据库查询、缓存策略和代码效率,我们能够显著提升系统性能,确保用户体验的流畅性。
敏捷开发的优势:
通过站立式会议和敏捷开发流程,我们能够快速响应变化,及时调整项目方向,确保项目目标的实现。这种灵活性使得团队能够更好地适应需求的变化,提升了项目的成功率。
测试的重要性:
测试是优化代码和提高性能的重要环节。通过全面的测试,我们能够及时发现并修复潜在问题,从而提高系统的稳定性和可靠性。
技术熟练度提升:
在项目中,我对 Redis、MySQL 和 MyBatis-Plus 的操作变得更加熟练。通过使用 Redis 提高数据访问速度,进一步增强了系统的性能。
算法编写:在编写推荐算法的过程中,我领悟到精细处理数据和精心调优模型对于提升算法性能至关重要。从数据预处理、特征工程到模型选择和参数优化,每一步都需要细致的考量。我学会了如何利用用户行为数据洞察用户偏好,并通过测试验证算法效果,根据反馈不断迭代改进。这段经历不仅锻炼了我的技术能力,也加深了我对推荐系统在现实世界中影响的理解。
在这次小程序的开发过程中,我主要担任UI组长的职责,同时也参与了一小部分前端页面的完成,在开发的过程中我学习到了很多:
总而言之,这次微信小程序开发的实践,不仅是对我的一次挑战,更为我带来了宝贵的经验。这次开发的经历不仅提升了我的技术能力,也让我对软件开发的各个方面有了更全面的认识。我期待将这些宝贵的经验应用到未来的项目中,继续成长和进步。
在过去的十天里,我们经历了本次项目的alpha冲刺阶段。在这个阶段里,我主要的任务是测试,撰写博客,整理数据以及一部分组件代码的编写。在这十天里,我收获颇丰。一开始,我没有接触过微信小程序的开发,但是在这个阶段的学习中,我学习了一部分小程序开发的知识,也对软件测试工作有了更深刻的理解。在 Alpha 冲刺阶段,我们需要在短时间内实现核心功能,这对团队的合作和沟通能力提出了极高的要求。项目开始时,我们通过频繁的会议和线上沟通保持了良好的信息流通,确保了团队成员能够同步了解开发进度和遇到的挑战。特别是在任务分配和需求变更时,及时的沟通减少了重复工作,提高了工作效率。总而言之,这次的alpha冲刺开发任务对我来说是一次宝贵的实践经历。
首先我感受最深的是持续学习的重要性,面对新技术和不熟悉的API,我学会了如何快速定位问题并寻找解决方案,深刻意识到对新技术的掌握对于提高开发效率至关重要;此外我认识到维护代码的可读性和可维护性的重要性,在完善发布美食界面的过程中,我认识到了清晰逻辑和整洁代码的重要性,这不仅有助于提高代码的可维护性,也使得团队协作更加顺畅;并且,我认识到需要在用户体验和系统效率找到平衡,在处理上传图片和业务逻辑的问题时我需要在用户体验和系统效率之间找到平衡点,优化用户数据处理流程,减少不必要的资源消耗;在解决具体问题和优化界面逻辑时我获得了巨大的满足感和成就感,体会到编程的核心在于解决问题;在调试过程中,我变得更加耐心,调试是编程中不可避免的一部分,花费大量时间追踪bug可以非常磨练耐心,但解决问题后的释然感是无与伦比的;在项目开发中,我认识到了与团队成员的有效沟通和协作是推动项目成功的关键,面对难题时,需要团队成员积极沟通,才能高效解决问题;在解决食光机界面的问题时,我体会到了注重细节的重要性,一个小小的细节错误都可能导致整个程序崩溃或者行为异常,对细节的关注是确保代码质量的关键;在项目开发中,我坚信的测试和优化是确保软件质量的关键,本地测试与真机测试之间可能存在的差异,需要通过细致的调试来确保功能在所有环境下都能正常工作。
在团队合作的过程中,我有幸从其他组员那里汲取了宝贵的经验和知识。通过团队的深入讨论和协作,我不仅迅速掌握了新技术,还学习到了如何以高效、细心和耐心的态度去完成每一项任务。作为一个时间管理意识不够强的人,我在项目分阶段推进的过程中,得益于组员们的激励,我的时间观念得到了显著的加强。我的组员们展现出的卓越效率和学习能力令我深感敬佩,同时也让我意识到了自己在某些方面的局限性和不足。正是组员们的优秀,激发了我不断追求进步,促使我更加努力地工作,以期达到自我完善和提升。这种团队间的相互激励和学习,不仅增强了我的专业技能,也极大地丰富了我的工作方法和解决问题的策略。我珍视这种团队合作带来的成长机会,并期待在未来的工作中,能够继续与团队成员相互学习,共同进步。
在这次小程序开发项目中,作为小程序端的小组长,我经历了一次意义非凡的实践历程,它宛如一座蕴藏着无数挑战与机遇的宝藏,挖掘过程中让我收获了全方位的成长。从技术实践到团队协作,每一个环节都成为我专业发展道路上深刻且宝贵的经验。
1.技术实践层面的深度剖析
设备适应性与细节把控
在处理不同设备适应性问题时,特别是像盒子高度调整这样看似简单的任务,却让我深刻认识到前端开发中细节至上的原则。在如今多样化的设备环境下,前端呈现的每一个像素、每一处布局都直接影响用户体验。一个微小的显示瑕疵,在特定设备上可能被无限放大,对用户使用体验造成严重破坏。这使我明白,前端开发必须具备微观视角,对每一个元素的呈现都要精益求精,任何细节都不应被忽视,因为它们共同构成了用户与产品交互的基石。
WebSocket 功能实现与代码优化
在实现菜谱和美食分类连接不同 WebSocket 并获取数据功能的过程中,我深入到 WebSocket 复杂逻辑的探究中。编写 updateWebSocketConnection 函数时,深刻体会到代码编写并非是机械的指令堆积,而是基于原理的精心构建。特别是在处理 this 指针问题上,这涉及到 JavaScript 在复杂函数嵌套和异步操作下的核心机制。在小程序开发场景中,准确把握 this 指向对于程序的稳定性和正确性至关重要。此次实践让我清晰地认识到,深入理解语言特性和网络通信原理,并将其准确应用于代码编写,是避免诸如对象引用错误等问题的关键。这种对技术细节的理性把握,有助于提升代码质量和功能的可靠性。
首页异步问题与系统协调
首页异步问题的解决是本次项目技术突破的关键节点。微信小程序默认渲染机制和登录逻辑的冲突问题,揭示了在开发过程中系统协调的重要性。开发不能孤立地看待各个功能模块,而应将其视为一个相互关联、相互影响的有机整体。这次经历让我深刻理解到异步编程和小程序生命周期之间的紧密联系。对异步操作的合理处理以及对生命周期各阶段特点的准确把握,是确保小程序高效、稳定运行的必要条件。这要求我们在设计和开发过程中,要有全局观,充分考虑模块间的交互和协调,提前预判可能出现的问题并制定相应的解决方案。
2. 团队协作层面的关键洞察
问题解决中的沟通价值
在项目推进过程中,团队协作在应对各种问题时展现出了巨大的价值。当遇到服务器吞代码问题以及前后端数据交互相关问题时,成员间的沟通交流成为解决问题的核心驱动力。通过积极有效的沟通,我们能够迅速整合各方信息,明确问题的本质和根源。这种跨领域、跨角色的信息共享和讨论机制,避免了各自为战的困境,大大提高了解决问题的效率。它让我认识到,在复杂的软件开发项目中,沟通是连接团队成员思维的桥梁,是将个体力量汇聚成团队合力的关键因素。
协作改进中的力量凝聚
在修改用户 token 的存放形式和添加 “回到顶部” 组件等工作中,我深切感受到团队成员之间相互配合、共同改进所带来的强大力量。每个成员都在项目中发挥着独特的作用,当这些作用在共同目标下协同发挥时,所产生的效果远大于个体之和。这种力量不仅体现在具体工作的完成上,更体现在对项目整体质量的提升上。同时,这也让我意识到,团队协作不是简单的任务分配,而是成员间基于共同目标的深度融合与协同共进。
沟通准确性对效率的影响
团队协作中,清晰准确的沟通是保障工作顺利进行的关键要素。信息传递的准确性直接影响工作效率,任何表达上的模糊或误解都可能导致工作延误。在软件开发这样高度依赖信息共享和协作的领域,一个不准确的指令或理解偏差可能引发一系列连锁反应,使项目偏离正确的轨道。因此,培养良好的沟通习惯,确保信息准确无误地在团队中流通,是提高团队协作效率和项目成功率的重要保障。
3. 细节把控与前后端协作的综合考量
细节问题的警示意义
在整个开发过程中,对细节的把控能力得到了显著提升。无论是 data - id 绑定错误这种看似细微却可能导致功能失效的问题,还是后端返回数据量过大影响前端性能的问题,都给我敲响了警钟。这些问题表明,在开发过程中,任何小的疏忽都可能引发严重的后果。前端开发需要像侦探一样,对每一个可能影响功能和性能的细节保持高度敏感,不放过任何蛛丝马迹。这种对细节的重视不仅是对产品质量的负责,更是对用户体验的尊重。
前后端协作的重要性凸显
这些细节问题也深刻凸显了前后端协作的重要性。前端和后端作为软件系统的两个重要组成部分,相互依存、相互影响。在项目开发过程中,前后端紧密配合是确保项目顺利推进的必要条件。后端数据的准确性、及时性以及数据量的控制,都直接关系到前端的功能实现和性能表现。反之,前端对用户需求的准确反馈和对数据的合理使用,也为后端开发提供了重要的参考。只有双方建立起良好的沟通机制和协作模式,才能有效避免因信息
在这个项目中,我体验到了多人团队协作的魅力,这是我第一次与一群伙伴们共同完成一个项目。在协作的过程中,我深刻感受到了团队的力量。每个成员都有自己的专长和独特的视角,当我们将这些不同的才能和想法汇聚在一起时,解决问题的过程变得更加高效,创新的火花也不断迸发。这种合作不仅加速了项目的进展,也让我学会了如何更好地沟通和协调,以及如何在团队中发挥自己的作用。
同时,这也是我第一次接触小程序开发。在这个全新的领域里,我学习了许多新技能和新知识。从前端界面设计到逻辑处理,每一个环节都让我对软件开发有了更深的认识。我学会了如何使用微信开发者工具进行真机调试,如何优化用户体验,以及如何确保代码的高效和稳定。这些新技能不仅丰富了我的技术储备,也为我未来的职业发展打开了新的可能性。通过这次项目,我更加坚信,持续学习和适应新技术是软件开发领域中不可或缺的一部分。我期待将这些宝贵的经验应用到未来的工作中,继续在技术和团队合作上不断进步。
在项目的alpha阶段,我不仅承担了菜谱模块与美食模块的接口编写和单元测试工作,还深入学习了MybatisPlus、Mockito,并在实践中加深了对Spring Boot框架的理解,同时体会到了团队沟通的重要性。
MybatisPlus的学习与应用:
MybatisPlus作为Mybatis的增强工具,在本次项目中极大地提升了开发效率。通过其提供的代码生成器,我快速生成了初始的实体类和Mapper接口,减少了重复劳动。同时,MybatisPlus的链式编程风格让我在编写数据库操作代码时更加简洁和直观。我学会了如何利用其提供的丰富接口进行条件构造,以及如何通过配置优化查询性能。
Mockito在单元测试中的应用:
在单元测试的过程中,Mockito成为了我不可或缺的工具。通过Mockito模拟外部依赖,我能够专注于测试当前模块的行为,而不是依赖于外部系统。这不仅提高了测试的准确性,也加快了测试的速度。我学会了如何正确地设置模拟行为和验证方法调用,确保测试的可靠性。
团队沟通的重要性:
在项目开发过程中,我深刻体会到了团队沟通的重要性。有效的沟通可以确保信息的准确传递,减少误解和重复工作。我学会了如何与团队成员分享进度、讨论问题和协作解决难题。通过定期的站立会议和即时通讯工具,我们保持了高效的沟通,这对于项目的顺利进行至关重要。
对Spring Boot框架的熟悉:
在这次项目中,我对Spring Boot框架的使用更加得心应手。我学会了如何配置Spring Boot项目以适应不同的开发需求,包括数据库连接、安全性设置以及服务监控等。Spring Boot的自动配置和启动类大大简化了项目的搭建过程,使我能够快速启动和运行项目,专注于业务逻辑的开发。
持续学习的重要性:
随着技术的快速发展,我意识到持续学习的重要性。我通过阅读文档、参加在线课程和实践操作,不断更新我的技术栈。这不仅让我保持了竞争力,也让我能够更好地适应项目需求的变化。
总结来说,这次项目经历不仅让我在技术层面上有了显著的提升,也让我在团队协作和自我管理方面获得了宝贵的经验。我期待将这些经验应用到未来的工作中,继续在软件开发的道路上不断进步。
在项目alpha阶段,我负责美食/菜谱缩略帖子组件、生成菜谱页面和菜谱列表页面的编写及相应的接口对接,同时在测试阶段帮助改进了食光机页面存在的多个样式问题以及高德地图api和推荐美食接口的编写及对接。我深刻体会到了细心、耐心和对细节的关注对于软件开发的重要性。
细心是基础:在编程和测试中,细心是发现和解决问题的基础。任何一个小小的疏忽都可能导致严重的后果,因此我学会了在每个步骤中都保持高度的警觉和细致。
耐心是关键:面对复杂的技术难题,耐心是解决问题的关键。我学会了在遇到难题时不急躁,而是耐心地分析问题,逐步找到解决方案。
细节决定品质:在用户体验和界面设计上,我深刻认识到细节的重要性。每一个细节的精心打磨都能显著提升产品的品质和用户体验。
持续改进:我学会了在项目进展中不断回顾和改进自己的工作,这不仅有助于提升当前项目的质量,也为未来的工作积累了宝贵的经验。
团队合作的力量:在与团队成员的合作中,我意识到每个人的细心和耐心都是团队成功的重要因素。通过共同努力,我们可以克服任何挑战。
小程序开发确实是一条充满挑战和学习的道路。在这个过程中,我深刻体会到了技术的复杂性和不断变化的特性。不同的版本迭代,都会带来新的接口和特性,很多完全找不到问题的bug也是来源于此。这要求我们的代码必须根据选择的版本去适应这些接口。同时,我也意识到了异步编程的重要性和难度,它不仅涉及到复杂的逻辑处理,还要求我对程序的执行流程有清晰的认识。
此外,使用UI组件库时,我遇到了一些无法修改的bug,这让我认识到了在实际开发中,我们不仅要会写代码,还要学会如何解决问题。有时候,这些bug可能是由于第三方库的内部问题导致的,这时候就需要寻找替代方案或者等待库的更新。
测试阶段是我最难忘的经历。在这个阶段,各种之前没有预料到的问题都会暴露出来,这让我学会了如何进行全面的测试,并且理解了测试在软件开发中的重要性。每一个bug的发现和修复,都让我对代码的稳健性有了更深的认识。
尽管小程序开发有许多挑战,但它的代码形式与传统的HTML/CSS/JS形式较为接近,这让我能够快速上手。通过这次开发经历,我不仅熟悉了小程序的开发工作与流程,还对大型团队的软件工程中的协作与分工有了更深的理解。我学会了如何在团队中有效沟通,如何分配任务,以及如何在项目中跟踪进度。
总的来说,小程序开发是一次宝贵的学习经历,它不仅提升了我的技术能力,也锻炼了我的问题解决能力和团队合作能力。我相信这些经验将对我的未来职业生涯大有裨益。
| 项目成员 | 分工 | 贡献度 |
|---|---|---|
| 刘嘉榕 | 项目搭建和部署;用户端用户模块,Redis相关部分,上传图片部分接口;推荐算法的编写,推荐算法的测试;前后端整体测试 | 11.2960566% |
| 卢禧 | 用户端菜谱模块和美食模块除算法以外的所有接口的编写,用户端单元测试编写,菜谱数据的爬取与存储,每日博客个人部分总结,参与编写的接口相应页面的细节讨论与对接 | 11.2387162% |
| 郑韵 | 登录界面代码编写及相关功能测试,置顶随笔、三篇冲刺随笔及总结随笔撰写,小程序功能测试,35条美食数据的收集整理修改。 | 11.0093547% |
| 马思敏 | 隐私条款页面代码编写,小程序界面功能测试,三篇冲刺随笔及测试随笔博客的编写。35条美食数据的收集整理修改。 | 10.9028654% |
| 冯诗雨 | 顶部导航栏组件的编写,小程序页面功能测试,四篇冲刺随笔博客编写,35条美食数据的收集整理修改。 | 10.9028654 |
| 陈诗柠 | 搭建小程序端代码框架;首页/分类搜索界面编写;调用高德地图api;websocket;API promise化;搜索结果菜谱组件;前端规范(大范围版);回到顶部组件;小程序功能测试和交叉检查;小程序的负责页面的debug;修复界面适应性问题;修复websocket连接;token的获取和设置;修改登录界面代码逻辑,实现token成功获取;修复首页的自动加载,避免获取不到数据;设置接口请求时间,避免获取不到数据;设置组件跳转逻辑 | 11.1993971% |
| 吴思 | 底部导航栏组件的编写;食光机界面的编写;发布菜谱界面的编写;发布美食界面的编写;小程序功能测试和交叉检查;小程序负责界面的debug;调用高德地图api;修复上传图片接口,成功将图片上传给后端 | 11.0961844% |
| 张巧莹 | 美食/菜谱缩略组件、生成菜谱页面与菜谱列表页面的编写;小程序功能测试和交叉检查;;小程序的负责页面的debug,增加媒体查询实现自适应;帮助修改食光机,解决文本框清空、位置问题与页面滚动问题,同时修改调用高德地图函数,增加查看详情跳转实现随机推荐功能,帮助调试“我的”页面的数据刷新 | 11.2305247% |
| 张晨阳 | 我的页面代码编写,菜谱详情页面的编写,美食详情页面的编写,编辑美食与删除美食页面的编写,小程序功能测试和交叉检查,小程序负责界面的debug | 11.1240355% |