ming-soft / MCMS

完整开源!Java快速开发平台!基于Spring、SpringMVC、Mybatis架构,MStore提供更多好用的插件与模板(文章、商城、微信、论坛、会员、评论、支付、积分、工作流、任务调度等,同时提供上百套免费模板任意选择),价值源自分享!铭飞系统不仅一套简单好用的开源系统、更是一整套优质的开源生态内容体系。铭飞的使命就是降低开发成本提高开发效率,提供全方位的企业级开发解决方案,每月28定期更新版本

Home Page:http://www.mingsoft.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

代码质量低下

aboutZZ opened this issue · comments

花十分钟简单看了看你们的源码,想吐槽下

  1. 还在使用老式风格suffix pattern,非要加个.do后缀,不明白意义何在。这玩意我记得是struts2那个时代的风格。Spring boot 早已弃用,建议去除。e.g. /mcms/search.do改为/mcms/search(PS. 你们程序员感觉还是十几年前老一套**)
  2. Mybaitis plusBaseMapperIService基础上又封装了一层,加入增删改查(queryBySQLsaveEntitydeleteEntity)等方法,但问题是这些操作Mybaitis plus都给你写好了,重复造轮子意义何在
  3. 有些Mapper加了@Component注解,有些没加,麻烦统一下。要么你每个interface上用@Mapper注解,要么你用@MapperSan,我还没有见过用@Component的。说到@MapperSanMSApplication.java里面basePackages竟然有com.baomidou.**.mapper这又是什么*操作?感觉你们只要程序能运行起来不报错我别的啥都不管
  4. IBaseDao#saveEntityBaseAction#getLocaleString这些方法,标记为deprecated,但是代码里该用还是用,那你标记有啥用。
  5. BaseAction#getLocaleString注释也写错了:推荐使用 BasicUtil.getString,应该是BundleUtil.getLocaleString吧?这样写注释,我开始怀疑程序会不会有其他bug了,连方法都能搞错。其他的getUrlgetDomain等不说了,一样的毛病

希望贵司不是为了KPI而开源,既然开源,咱就把代码写好,不要应付草草了事

谢谢犀利的评价
1、系统从2012年一直更新到现在,结构是传统的MVC模式,简单容易理解,不管是加不加.do都可以访问,是开发者个人意愿,我们强调规范,只要简单易懂我们觉得就可以,不是一味最求新的,这也让mcms的代码识别度高
2、Mybaitis plus 是2020年才开始升级,早期都是我们自己实现,提一个问题Mybatis plus能做复杂的关联且要进行多个数据库适配真方便?
3、这个的确有些插件存在这种情况,的确需要规范一下
4、因为Mcms老的版本用户都还在用。会在大版本更新的时候会彻底移除(就像jdk、spring也有过期方法但也不会说一升级版本就彻底拿掉,影响太大)
5、BasicUtil.getString 国底层单独抽离的方法,是从原来的控制层,迁移到BasicUtil工具类。

最后还是感谢您评论,

  • 作为MCMS框架本身,标记为deprecated的方法框架内部是不应该使用的,deprecated是提示给框架使用者看的。

  • 第5点,getLocaleString方法是获取本地化文件字符,该方法的注释写的是推荐使用BasicUtil.getString,但是BasicUtil.getString方法是干嘛的?是获取客户端请求param的,两个方法实现的功能一样吗,不能替换成BasicUtil.getString吧?用户按你的文档替换方法还不得出bug
    呵呵