酒店搜索功能实现的总结

编程入门 行业动态 更新时间:2024-10-23 11:18:17

酒店<a href=https://www.elefans.com/category/jswz/34/1770543.html style=搜索功能实现的总结"/>

酒店搜索功能实现的总结

总结

  • 开发前的准备
  • 项目进行中
  • 优化与最后的总结

开发前的准备

    根据需要实现的项目需求考虑好业务流程,我这是通过脑图简单梳理了下业务流程。然后确定需要用到的些技术与工具。接口的设计采用的是rest风格(/业务线/模块/具体功能,其中单词间-隔开),使用的工具是ApiPost,数据库设计使用的工具为chinner,代码管理工具gitee,搜索实现我们使用到了枚举与es。最后进行功能实现的代码进行优化与测试,遵守组内开发规范。

项目进行中

    我们采用MybatisPlus实现业务功能,其中能直接使用来自IService的功能就直接使用,不能的才自己再写额外的功能。try catch什么的写在service层(在此,最好就是通用工具模块中写有个全局异常接口来使用),dao层的类命名xxxDAO,xxxDTO,xxxVO,xxxBO等,使用lombok注解来减少代码,多个判断可用switch case,不要一直if else的,看起来更简洁,参数校验调用在control层中实现,字段验证在实体类里就实现掉。更新,创建时间等可以在mysql数据库中就设置,其中搜索位置的经纬度用double类型。使用的是Elasticsearch7.62的版本,配合对应版本的Kibana。与之前的es版本的配置与使用有些微微不同。比如配置更方便点。在application.yml中,原来我们用来配置Elasticsearch访问路径和集群名称的配置已经不建议使用了,现在这样用:

spring:elasticsearch:rest:uris: http://localhost:9200

还有原本在代码中使用的ElasticsearchTemplate已经过时了,现在建议使用ElasticsearchRestTemplate来代码操作es的功能实现。然后es与数据库的同步采用的方法是使用canal工具来实现。es的使用中涉及到了很多,如按价格高低,评分高低等排序,还有当前地理位置的中心距离多少范围内的查询出酒店有多少。

优化与最后的总结

    在数据库设计阶段所有的字段都最好不为空,设置有默认值,这样不容易出些不必要的bug,还有设计表时不要有外键那些最好。然后在代码中有多个参数时考虑封装成对象,简洁代码;日志不要乱打,打在关键环节或者主要流程,不然影响性能;字符串的拼接要注意,可以用StringBuilder;少用==,用equals;且代码中不应该有魔法值(即含义不明的常量);少用if else,使用卫语句(某些关键条件优先判断,简化程序流程走向,嵌套了好几层的if - then-else语句,转换为多个if语句,实现它的逻辑,这多条的if语句就是卫语句);最后使用上lambda表达式与forEach来再次优化代码。
    数据库语句的使用上用到索引,避免索引失效问题
    再有就是项目使用git上需要用到,解决几个问题的命令:对git使用上的一些记录

更多推荐

酒店搜索功能实现的总结

本文发布于:2024-02-12 03:33:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1685655.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:搜索功能   酒店

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!