java后端入参是map好,还是实体类VO好?各有哪些优缺点?
大多少都是对象接受!!主要方便看代码!!!map还得去查参数!!不是很友好!!!
例如查询一个用户一周出勤信息!!典型行转列思想!!map返回直接对象解析!!!太好用了。
用VO好,map灵活但是维护和新员工不友好。正好现在去新公司才不久,基本上都用map,我就想看这个接口用了某个参数没,一直跟踪代码到每个方法,最后到xml里的sql才知道有没有这个参数[捂脸],业务多的方法复杂层次多的那就有的看了。vo接口规范一点,map给传一些没用的参数一样的还得接收
如何成为一名优秀的程序员?
是不是合格的程序员其实也没有一个明确的定义。可能应该说是有系统知识体系,明白计算机运行处理的机制,软件在计算机上运行机制以及从编码到软件的前世今生,以及能够深入理解编码以及解决各种需求的能力,怎么从想法到软件的整个过程。
这可能是没有学习计算机科学或软件工程等计算机及软件相关的体系知识带来的困惑。如果只是相当一个码农,只是编码来满足自己接触到的项目的需求,而不是对编制程序的思维及体系有深刻认识,比如如何架构项目合理,架构程序合理,优化合理,流程合理,开发管理合理等等。
半路出家想进一步了解的话,还是建议按照软件工程本科专业来进行深入学习。建议可以学习一些这些知识,比如:计算机组成原理(微机原理)、计算机网络技术、数据结构、操作系统原理、数据库系统原理、算法分析与设计、编译原理、UML、软件工程等等。
这些是比较基础的课程,能够了解计算机基本原理,软件机制基本原理,数据库原理,软件工程的相关知识,完成后可能对编制程序就有比较深入的理解,对编码是很有帮助的。
工作两年了,应该已经对项目很熟悉了,后续的工作可能会遇到这种情况:能够很快的理解需求,也很快能开发完成,但是觉得自己没有什么提高,做的工作永远是哪些。题主能有这种感觉,证明你是一个上进的人,我见过很多像“温水煮青蛙”似的程序员,包括我自己,工作前几年也浪费了很多时间。
很多程序员都会把技术能力放在首要位置,我却把业务知识放在了第一位。如果你工作的时间长了,你会发现一个问题:很多公司的需求人员,甚至业务人员都没有开发人员了解系统,了解业务;甚至大部分业务人员实际上不懂业务。是不是很可笑,但实际上确实是这样的。但另外一方面,业务很强势,IT没有话语权!
深入学习业务知识,一方面可以在开发的过程中占领主动,另外一方面,IT行业不仅缺技术人才,更缺业务人才。所以我也建议未来你再跳槽的时候,有可能的话,业务行业不要太大,一直在一个业务行业内工作。
有到了我有一个朋友的时间,他最近几个工作主要做支付相关的功能,很吃香的,再找工作不怕找不到。
技术能力也不能少的,我在另外一个问题中解答过,主要是两个方面,一个是基础的内功,一个是表面的外功。这里我就不详细介绍了,主要说一说要注意的问题吧。
可以在开源社区上找一个开源项目来学习,或者深入学习你现在项目中用到的某一项技术,学习的方法主要就是看***的文档和github上的项目示例。如果不知道要学什么,可以看看现在比较流行的spring boot和spring cloud。
多看英文文档,很多新技术的文档都没有中文翻译,或者翻译的很烂。
表达[_a***_]能力也很重要的,很多程序员技术能力很高,但是让他上台做技术分享却说话都费劲儿。
我是一个从事JAVA编程开发五年+的程序员,程序员真的是既高大上,又很苦逼的角色,如何做一个优秀程序员?要想成为快速捞金的优秀程序员,你必须这么做:
1,孜孜不倦之态:不同的公司用的技术可能完全不同,你不仅要掌握牢靠的基础,还要举一反三,不断的学习新技术,新知识,掌握行业新动态,你要不断的混迹于gitlab,stackflow,csdn,等各大开源网站,知识社区,如果你进去新公司,你要学习公司的技术,代码习惯,编程方法,业务知识!
2,翻云覆雨之功:所谓翻云覆雨是说你必须掌握编程相关的基本技能,灵活运用你的所获所得,把复杂善变的业务轻松技术实现,为此你要会搭建程序的框架(spring boot),快速集成工具(jinkens),版本管理工具(m***en),版本管理工具(svn.git),代码评审工具(sonar)等等!一个不会业务的程序员不是一个好的程序员,技术是为了业务发展而服务的,而业务的发展有进一步推动技术的更新迭代!
3,巧言善变之能:程序员的最大工作量不是开发代码,而是和业务,需求,bd,项目跟踪员的沟通,如何保证让业务相信某个功能体验不好,无法实现,如何让需求,bd能做出更完美的产品,是你必须要去面对的!能让老板相信你可以做的很好,可以让产品走进用户的心中!
4,排忧解难之速:你要在预发环境,生产环境有问题的时候迅速通过日志,内存工具,监控工具等查到问题的所在,并快速做出反应,让损失最小化,同时尽快修复bug!
5,西天取经之法:何为取经之法?一个team,围绕一个leader,中间虽有磨难艰辛,但是通过团队不懈的努力和紧密的合作,最终解决各种难关!
6,孺子可教之谦:很多程序员都是很高傲的,认为团队缺少自己完全没发运行,最终自己懈怠,不思进取而遭到淘汰,程序员应该谦虚,互联网本就是提倡来源,多去分享,多去贡献!谦虚的指导别人,谦虚的向别人学习!
7,随叫随到之极:程序员加班是平常事,有时候正应了那句说曹操曹操到,周六周日突然一个电话,不得不舍弃暖暖的被窝,匆匆跑到公司,但是领导认为你是可信的,你是负责的!
程序员是一个可敬的职业,因为大部分程序员挣得多,花的少,还是单身gou,所以给我们这些程序猿一点掌声作为鼓励吧!
我是谢逅,上海一线大公司程序员一枚!来关注我,我有你入职想要的经验!
总的来说,要想成为一名合格的程序员,就是持续的学习过程。程序员,是一个终身学习行业。每天都会或多或少接触到新的代码,日新月异的互联网,你需要不断的去学习,而且自己要愿意去学习。
这是提出几点成为合格程序员的见解:
1.要有一个***目标:程序员是一个笼统的名称,程序员的种类何其多,像c、j***a、Android、ios、php、python、js......。首先,确定你要发展的一个方向,从事什么岗位,这非常重要。
2.构建知识体系:在确立的***目标,然后就要构建知识体系,然后是发展线路图。就如书本的目录一样,你要清楚这本书讲的是什么内容。而成为你目标的程序员需要拥有哪些技能。
3.获取相关技术的社区、网站、博客。
4.输出。如果你能很清晰教会别人,说明你掌握了这个知识点。培训自己的阅读及写作习惯。
5.多思考,多应用。实际的应用结合学习,一定能让事半功倍。
6.坚持。做任何事情都不是一朝一夕就能做好的,所以成功的秘诀就是坚持。