架构师不是高高在上,脱离代码只说不做的人。架构师首先是一名优秀的程序员,要能够编写项目或产品中的核心功能,随时能够撸起袖子去解决项目中的问题。代码写得不漂亮怎么能拿得出手?怎么能够服人?所谓漂亮代码不仅仅要实现功能,更要清晰、易懂、优雅,没有 Bug 或者只有极少 Bug。
要用技术的影响力来领导人,而不是威权和职位。这是一个漫长的过程:你解决了一道技术难题,你提出的方案被证明可行……这样的事情会一点一滴地积累起你在别人心目中的形象,建立起你的个人品牌,技术人员服你了,你在团队里发出的声音才会被倾听、被尊重,对于上级更要展示出自己的能力。
这篇文章主要是记录日常开发中的一些代码片段,寻找是否有更简洁的写法,仅供参考。
1 比较两个数的大小
场景举例:比较两款竞品的订单下单总数,得出较大的那个数。
一般写法,用 if 判断:
1 | if (number1 > number2) { |
简洁写法,用已经封装好的方法:
1 | return Math.max(number1, number2); |
2 找出集合中的最大值
场景举例:在一个订单系统中,获取一个月内最大的日下单量。
一般写法,for 循环加上 if 判断:
1 | List<Integer> listNumber = getDayCountList(); |
简洁写法:
1 | List<Integer> listNumber = getDayCountList(); |
3 判断集合是否为空
一般写法:
1 | List<Integer> listNumber = getDayCountList(); |
简洁写法:
1 | List<Integer> listNumber = getDayCountList(); |
4 打印出数组中所有的值
一般写法:
1 | int[] intArray = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; |
简洁写法:
1 | int[] intArray = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; |
5 转换时间格式
一般写法,对时间的格式进行转换后,再覆盖原值:
1 | List<Map<String, Object>> listData = getListByTime(); |
简洁写法,从 SQL 语句入手,在查询时就将时间格式转换:
1 | SELECT DATE_FORMAT(createdTime, '%Y-%m-%dT%T') AS createdTime FROM tb_user |
6 筛选集合里的数据
一般写法,用 for 循环:
1 | List<User> listUser = getUserList(); |
简洁写法,用 stream 流:
1 | List<User> listUser = getUserList(); |
7 对集合里的数据去重
一般写法,用 for 循环:
1 | List<String> listData = getDataList(); |
简洁写法,用 stream 流:
1 | List<String> listData = getDataList(); |
8 复制 Map 数据并新增元素
场景举例:原先的 Map 数据在其他的业务中还有用到,不能直接更改。
一般写法:
1 | Map<String, Object> originMap = getMapData(); |
简洁写法:
1 | Map<String, Object> originMap = getMapData(); |
参考文章:头铁
每个程序员都梦想从头写一个东西,不愿意读别人的代码,甚至同行相轻,瞧不起别人的代码。但实际情况是,自己重写一遍,不见得能比现在已经运行的代码好到哪里去,甚至更差。除非你了解了所有的细节,用大量的时间仔细规划、小心编程,但现实中哪有这么多时间啊?既然无法推倒重来,还不如承认现实,脚踏实地,从当下做起,慢慢地重构代码,让代码的质量朝着更好的方向发展。这就是所谓的革新,而不是革命吧!