一年开发做过的错事,踩过的坑

 

 这篇文章,作为自己开发一年的小总结。

 因为一些问题造成了很多不必要的时间的浪费。

 这篇文章比较适合,没有实际开发经验的人看。同样适合一年左右经验的人看。也欢迎有经验的可以给我提出宝贵的意见。

 

# # 代码整洁的相关问题

  这一块,确实中间也浪费了不少的时间,中间领导专门拿着阿里开发规范,来扣我们的代码,一个细节一个细节的去让我们改。我倒还是之前本来就熟悉阿里开发手册。还算比较规范。

  建议还是看看阿里的《阿里开发手册》,另外建议去读《代码整洁之道》和《重构:改善既有代码》这两本书。然后开始知道整洁的代码应该是什么样的。严格的要求自己,做到对自己的每一行代码负责。建议读一些设计模式之类的数据另外建议读一下spring 的源码,这个可以学到很多的设计思想。对我们设计系统,解决问题有很大的帮助,可从里边学习到如何去增加扩展性。

  最后如果你觉得自己的代码ok了,可以下载一下阿里的开发规约的插件。用来检查自己的代码,只需要扫描一遍,就知道哪里有问题。然后去改。

  这一块开始从起手开发就装上插件,每天提交的代码,自己检查。可以节省时间在重新整理代码上。说白了就是一遍过。

  相关插件安装:https://blog.csdn.net/weixin_39220472/article/details/80077803

 

# #  第二个问题是 工具类封装的问题

  所谓的工具类,真的就是公用的代码。本来说好的不重复造轮子,坏就坏在我们不知道轮子在哪里,其实这就是技术视野的问题。不知道有轮子,所以我们自己造轮子,所以浪费时间。所以要加班要996.

  最痛苦的还不是重复造轮子的问题,还有一个轮子在项目里边被造了很多次的情况,经理一审查代码,直接吐了,抢救完经历,解接下来就得抢救我们的代码了,协调一下跟你造了重复轮子的同事,要不咱们统一用我的工具类?每个人都觉得自己写的是最好的,担心用了别人的要重新测试,害怕出现问题。

  这个来来回回的改,加上造轮子与测试,花费很多时间,这些时间都是 996 挤出来的,本来不用加班。

  这里不多啰嗦了,一步到位,我给大家推荐一个 好用的轮子。 叫做 hutool 的工具类,及其方便,pom里边直接引入就行了,自己看看里边都有什么轮子就好了。

  官网:https://hutool.cn/ 

  别看什么其他别人写的介绍文档了,直接去官网上看吧。省事,还准确。

 

# # 第三个问题是使用统一配置中心的问题 

  我们是使用的 Apollo,携程的统一配置中心。一开始刚进项目,不懂什么是统一配置,刚从学校出来,谁听说过呀。关键,我们的项目打好,引入了 Apollo的依赖,并没有去从 Apollo上读取配置信息。读的本地的配置,结果项目跑起来,就时不时的去拉取配置。

  我觉得这个问题,就狠一点,一步到位,要么直接从一开始就用统一配置中心。最后省事,但是在开发过程中,可能会痛苦一点,一不小心,别人给你的配置误删了,估计就得找很大一会尔错误,才知道配置没了。 这么说起来,也可以一开始都用本地的配置,不要引入Apollo,最后都测试没问题了,统一引进来。这个也耽误了比较长的时间。

 

# #  第四个问题就是分库分表的问题

  我们的项目是一开始在单库上做开发,都开发完,测试完了,又要加分库分表。

  我们用的 sharding 做的分库分表,sharding 天生就不支持一些sql,比如集合函数需要起一个别名,比如 distinct去重操作,几乎不支持。这些也没人给我们说,就让我们自己解决,自己测试。这太浪费时间了。

  关于这个问题,我觉得也是一步到位,从项目开始就去考虑要不要进行分库分表,这样省去了重复测试的问题,会节省很多很多的时间。另外就是一定要有人出来把sharding 相关的坑,就给大家说明白,免得重复跳坑,浪费时间。

  sharding 说是对开发人员来说无感的,其实并不是,需要注意蛮多坑。具体的还是看官方文档。

  

# # 自身问题

  当然了,自己本身也是有问题的,比方一上来的时候,因为环境问题会耽误很长是时间。还是多遇见一些问题就好了。

  • 41
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值