范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

我同事说我写代码像写诗

  把自己平时写代码的习惯跟大家分享一下  1.定义配置文件信息
  有时候我们为了统一管理会把一些变量放到yml配置文件中
  例如
  用 @ConfigurationProperties 代替@Value
  使用方法
  定义对应字段的实体  @Data // 指定前缀 @ConfigurationProperties(prefix = "developer") @Component public class DeveloperProperty {     private String name;     private String website;     private String qq;     private String phoneNumber; }
  使用时注入这个bean  @RestController @RequiredArgsConstructor public class PropertyController {       final DeveloperProperty developerProperty;       @GetMapping("/property")     public Object index() {        return developerProperty.getName();     } } 2. 用@RequiredArgsConstructor代替@Autowired
  我们都知道注入一个bean有三种方式哦(set注入, 构造器注入, 注解注入),spring推荐我们使用构造器的方式注入Bean
  我们来看看上段代码编译完之后的样子
  RequiredArgsConstructor:lombok提供  3.代码模块化
  阿里巴巴Java开发手册中说到每个方法的代码不要超过50行(我没记错的话)
  在实际的开发中我们要善于拆分自己的接口或方法, 做到一个方法只处理一种逻辑, 说不定以后某个功能就用到了, 拿来即用
  4. 抛异常而不是返回
  在写业务代码的时候,经常会根据不同的结果返回不同的信息,尽量减少返回,会显得代码比较乱
  反例
  正例
  5. 减少不必要的db
  尽可能的减少对数据库的查询
  举例子
  删除一个服务(已下架或未上架的才能删除)
  之前有看别人写的代码,会先根据id查询该记录,然后做一些判断
  反例
  正例
  6. 不要返回null
  反例
  正例
  别处调用方法时,避免不必要的空指针  7. if else
  不要太多了if else if
  可以试试策略模式代替  8. 减少controller业务代码
  业务代码尽量放到service层进行处理,后期维护起来也好操作而且美观
  反例
  正例
  9. 利用好Idea
  目前为止市面上的企业基本都用idea作为开发工具了吧
  举一个小例子
  idea会对我们的代码进行判断,提出合理的建议
  例如:
  它推荐我们用lanbda的形式代替
  点击replace
  10. 阅读源码
  一定要养成阅读源码的好习惯包括优秀的开源项目GitHub上stars:>1000, 会从中学好好多知识包括其对代码的设计思想以及高级API,面试加分(好多面试官习惯问源码相关的知识)  11. 设计模式
  23种设计模式,要尝试代码中运用设计模式思想,写出的代码即规范又美观还高大上哈哈。  12. 拥抱新知识
  像我们这种工作年限少的程序员,我觉得要多学习自己认知之外的知识,不能每天crud,有机会就多用用有点难度的知识,没有机会(项目较传统),可以自己下班多些相关demo练习  13. 基础问题
  map遍历          HashMap map = new HashMap<>();         map.put("name", "du");         for (String key : map.keySet()) {             String value = map.get(key);         }           map.forEach((k, v) -> {           });           // 推荐         for (Map.Entry entry : map.entrySet()) {           }
  optional 判空      //获取子目录列表     public List getChild(String pid) {             if (V.isEmpty(pid)) {             pid = BasicDic.TEMPORARY_DIRECTORY_ROOT;         }         CatalogueTreeNode node = treeNodeMap.get(pid);           return Optional.ofNullable(node)                 .map(CatalogueTreeNode::getChild)                 .orElse(Collections.emptyList());     }
  递归
  大数据量的递归时,避免在递归方法里new对象,可以试试把对象当作方法参数进行传递使用
  注释
  类 接口方法 注解 较复杂的方法 注释都要写而且要写清楚, 有时候写注释不是给别人看的 而是给自己看的   14. 判断元素是否存在
  hashSet而不是list
  list判断一个元素是否存在的代码 ArrayList list = new ArrayList<>();   // 判断a是否在list中   for (int i = 0; i < list.size(); i++)        if ("a".equals(elementData[i]))           return i;
  由此可见其复杂度为On
  而hashSet底层采用hashMap作为数据结构进行存储,元素都放到map的key(即链表中) HashSet set = new HashSet<>();   // 判断a是否在set中   int index = hash(a);   return getNode(index) != null
  由此可见其复杂度为O1

影音领域的厚积薄发写在OPPO首款主动降噪耳机亮相之际前两年的真无线市场,很多真无线产品属于赶鸭子上架,自身一大堆问题尚未解决的情况下被匆匆推向销售端。你说它方便,也的确真无线有其方便的一面,可是你说成熟吧这里面十个有八个都谈不上,不思路清晰信心满满,上汽通用科技体验日都说了啥?4月8日,在2021科技体验日活动现场,上汽通用汽车公布了其在电动化智能网联化领域的领先科技与战略布局。到2025年,上汽通用汽车将推出10款以上基于Ultium平台的国产新能源车企业面临危机公关,做好这三点转危为安大家好,我是只为用户提升品牌价值的时代达信企业发展,从初创到上市,在发展路上少不了危机公关,像一家正要上市的企业,或者已经上市了的企业,对企业的影响都是非常大的,那企业对于危机公关从业务人员给你讲企业公关每天做什么公关(PublicRelations)这个词是一个外来词,是根据爱德华伯尼斯(EdwardBernays)定义,对于普罗大众来说,公关这个词,是既熟悉又陌生的一个词,熟悉是在于,许权威解读企业网络危机公关负面处理的方法大家好,我是只为用户提升品牌价值的时代达信互联网的快速发展,人们日常生活企业发展都是已经离不开互联网,而对于企业的发展来说,更是借助互联网趋势,运用好媒体平台来传播品牌,需要注意的西安发布最新通知,决定暂停共有产权住房购房资格审核市住保办发20215号市保障性住房管理中心,各区县住建局,西咸新区住建局,各开发区住建管理部门我市自试行共有产权住房政策以来,稳步推进了资格审核价格备案产权划分土地供应等系列工作,生活小记10什么时候能拥有自己的房子?从我工作时起,买房这个话题总是隐隐约约萦绕在我的身边。它一开始对我一点影响都没有,从大学的宿舍搬进了医院的宿舍,这让我感觉很熟悉,有了收入甚至比大学还自在快乐从什么时候起呢,可能是Bwitbee音乐U形枕,是U型枕,更是肩膀上的环绕立体声现在TWS耳机大热,厂商们一窝蜂似的都在做TWS耳机,差不多的模样,毫无新意。就在快出现审美疲劳时,一款名为Bwitbee的音乐U形枕出现了,将听音乐和颈部舒缓支撑结合在一起,赋予音质还可以用这种姿势升级?OPPOEncoX蓝调版评测众所周知,我的其中一个爱好是足球,又恰好呢,我的生物钟是比较黑白颠倒的,几乎就是标准的伦敦作息,故而除非出差或者约酒,其余的英超比赛,我几乎能做到场场不落。足球俱乐部里,很重要的一中兴通讯2016年人均年薪22万涨幅达21,持续减员加薪3月24日,中兴通讯发布了2016年年度报告。报告显示,2016年中兴通讯实现营业收入1012。3亿元归属于上市公司普通股股东的净利润亏损为23。57亿元,利润亏损主要原因是中兴通儿童节礼物,GPDMicroPC迷你电脑可能是个不错的选择六一儿童节就马上要到了,给小朋友选择什么礼物真是愁人。现在的小朋友,生活中啥都不缺,尤其是数码产品这块,他们玩手机平板的熟练程度,有时候连我们这些大人都自愧不如。有没有一种数码设备
手把手教你如何设计出高点击率的京东产品主图在京东的运营中,主图是商品宝贝最重要的展示窗口,与主图有直接关联的数据就是点击率。在同样的展现下,一张主图设计的优劣就会导致点击率出现差距!所以没有点击率就没有更多的流量,点击率的好看视频作者主页的视频怎么批量下载到本地电脑上好看视频是由百度团队打造集内涵和颜值于一身的专业短视频聚合平台,好看视频平台拥有独家短视频内容源,覆盖搞笑音乐影视娱乐游戏生活小品军事汽车新闻等全方位优质视频内容。我们平时在逛好看又拍相册上的全部图片怎么快速批量下载到本地又拍网作为一种网络在线相册,用户可以在里面发布存储分享及传播照片。拍友们可以使用又拍直接边拍边传,记录照片拍摄位置,也可以将图片自动同步新浪微博,腾讯微博浏览朋友们的最新活动,最近速看!这里教你简单快速搭建外卖点餐小程序商城互联网时代,很多餐饮店都有外卖送餐的业务,一般商家都是选择入驻第三方外卖平台来帮助开展外卖业务,但是随着各个外卖平台的订单抽成不断增加以及拼团满减等各种营销活动的开展,商家的利润受招聘H5模板一键套用,招贤纳士从H5招聘开始当我们策划一个活动的时候,无论是文章还是一场活动,突出主题,让自身的品牌进行定位,这样才能让用户更好的切入。为了满足用户群体不同的需求,我们可以阶段性选题,这样可以防止用户群体出现为什么装修行业要做微信小程序?家装装修类小程序怎么做?传统装修行业开发制作微信小程序有什么好处?1。开通线上渠道,轻松获客。2。线上经营,有助于客户全面了解装修公司的情况。3。客户可在线查看装修方案与风格,拥有舒适便捷的装修服务。4。仅需五分钟!快速制作美容行业小程序互联网时代,很多传统行业都在转型,比如传统的美容行业,不仅开发了美容行业相关APP,就连微信小程序也随之而来。微信美容小程序更是凭借其无需下载快速使用,用完即走的优势深受用户的喜爱H5投票页面怎么做?看这篇就够了最近小编在网络上看到了一个很多人都在关注的问题微信h5投票怎么做?,今天针对这个问题,小编给大家讲解一下,分享一个简单又实用的微信h5投票页面制作教程,新手小白们赶紧Get哦所需工微信小程序超市平台怎么制作,如何开发一个商城小程序微信商城小程序,不占内存,不用下载,在手机微信上面搜索店铺名称就能找到,也可以直接下拉找到历史打开过的小程序店铺,各行业零售商家纷纷抓紧时间,想要制作自己的小程序,随着科技的发展,快手运营技巧以及实操如何去养一个新的快手号?(详细解析)快手做短视频一定要养号,因为养号可以提高我们的账号权重,平台会给我们更多的播放量,今天我就带大家了解一下,新手注册快手号之后,是通过什么方法进行养号的。1。第一步我们需要注册账号,干货!怎么压缩视频大小,怎么缩小视频体积可能因为使用pr渲染质量太高,导致我们的视频太大了,无法上传到短视频平台,如果我们去压缩视频,可能就会影响最初的视频画质,下面小编就带大家了解一下,在视频画质不受影响的情况下,如何