java - 如果你的同事这样使用Spring MVC,你该怎么办
阿神
阿神 2017-04-17 14:42:14
[Java讨论组]
    @RequestMapping(value="foo")
    public void funcCreate(HttpServletRequest request,
            HttpServletResponse response){
        try {
            String code = request.getParameter("code");
            String name = request.getParameter("name");
            String parentId = request.getParameter("parentId");
            String funcIcon = request.getParameter("funcIcon");
            String url = request.getParameter("url");
            String funcIndex = request.getParameter("funcIndex");
            
            SysFunction sysFunc = new SysFunction();
            sysFunc.setCode(code);
            sysFunc.setName(name);
            if (StringUtils.isNumeric(parentId)){
                sysFunc.setParent_id(Integer.parseInt(parentId));
            }
            sysFunc.setUrl(url);
            sysFunc.setIconName(funcIcon);
            sysFunc.setFuncIndex(funcIndex);
            sysService.addFunc(sysFunc);
            
            ajaxReturn(response, Constants.OPERATE_SUCC);
        } catch (Exception e) {
            log.error("系统功能创建异常!", e);
            ajaxReturn(response, Constants.OPERATE_FAIL);
        }
    }

    public void ajaxReturn(HttpServletResponse response,
            String content){
        if (content == null){
            return;
        }

        try {
            response.setCharacterEncoding("utf-8");
            response.setBufferSize(content.length() * 4);
            PrintWriter writer = response.getWriter();
            writer.write(content);
            writer.flush();
            writer.close();
        } catch (IOException e) {
        }
        
    }

我是不是该建议直接使用Servlet

补充:2015年8月11日09:09:57
情况是这样的,同事是经理认可的经验丰富的程序员(亲口跟我说的),我才是后辈

补充:2015年12月11日11:36:11
其实从大家的讨论可以看到,这样的代码是自己的编码习惯所致,可是在团队开发中,这样的习惯好吗?

阿神
阿神

闭关修行中......

全部回复(11)
PHPz

应该是传说中的一年经验用十年的那种,如果要用框架就要充分利用框架的特性为自己省事,要不就干脆不要用好了,classpath还少个几个jar包,war包都小点:)

怪我咯

先假设吧,这种方式比起框架自带的注解参数有什么好处呢?效率更高吗?注解的确会牺牲一部分效率,但题主的这个代码位置真的会因为使用注解就导致太多效率问题吗(而且Spring MVC自己还有来缓和注解的效率问题的手段啊)?如果不会,那就只能假设是因为他丰富的经验并不在Spring MVC上面,人家其他框架或者其他其他语言上牛的一笔也说不定。无论都牛,也总会有盲区的。不知者无罪,题主可以和他聊聊,于你于他都会有好处的,当然谈话方式上可能需要些技巧。
回答里面有提到用什么是人家的自由,如果他敲自己的代码那完全没有问题,但作为大家一起敲你就需要考虑其他人了,如果你们整个公司都是这样写Spring的那就呵呵了。既然用了框架就应该尽量发挥框架的特性,框架有的东西如果还自己用ugly code去实现,其他开发者看来也是相当不舒服的,是不是也应该照顾其他开发者的习惯呢?
如果他的牛逼体现其他地方那么项目经理就应该把他安排到他牛逼的地方,否则是不是可以理解为安排失误。
有很多是约定俗成的东西,找不到合适的理由,你再牛逼也得去遵守,如果你能创造一套规则那另当别论,不用给自己不愿去学习新东西找借口。做开发这行就是这样。

阿神

我也是这么过来的,都是一个程序员的成长过程,你为啥要鄙视初出道的后辈呢?你应该做的是引导他如何使用好……

天蓬老师

同意楼上,一个好老师很重要

大家讲道理

你们沟通下,相互交流下吧~~~~
使用方法无关对错~~~~

大家讲道理

看到一楼的回复,我想说其实springmvc有一个注解可以帮你过滤参数的
框架存在就是为了让开发更快更爽,写出问题了这种代码的人就是异端

怪我咯

这并不能说明什么,只能说明他不懂spring的那一套东西,亦或者不懂POJO之类的,所以写的靠近servlet了

PHPz

除非他真的有什么原因这样写,否则还是劝他不要。我认为即使是一个大牛,也还是要与时俱进的,比如java的很多新特性,你难道一直不用吗?你再牛能牛过java的设计者们吗?国外的大牛肯定都是与时俱进的

阿神

反正这种获取参数的方式是被spring mvc支持的,可能是个人编程习惯的原因

高洛峰

其实写代码和打游戏一样,就怕遇到爱装x的队友,如果你的同事真的有能力,把 springmvc 源码流程都走了一遍,知道 springmvc 哪里封装的不好,那也没什么了,怕就怕半碗水的装x货。

以前我也遇到过一个同事,其他人都称他野路子多,连 JSON 序列化和反序列他都要自己写。项目中要使用第三方的SDK,他也不看 SDK 的文档,直接把人家的源代码给改了,结果发现不能进行自动升级...

基础能力很重要,但是阅读别人的文档更重要,springmvc 这种封装的如此完美的代码,就是为了简化web开发操作,如果偏偏要显示自己的能力出众,反而让代码冗余不易阅读,甚至导致性能下降,就得不偿失了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号