首页 > 其他分享 >一年开发做过的错事,踩过的坑

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

时间:2022-10-09 10:06:09浏览次数:71  
标签:分库 错事 配置 代码 做过 问题 开发 轮子


 

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

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

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

 

# # 代码整洁的相关问题

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

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

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

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

 

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

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

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

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

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

  官网:​​https://hutool.cn/​​ 

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

 

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

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

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

 

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

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

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

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

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

  

# # 自身问题

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

标签:分库,错事,配置,代码,做过,问题,开发,轮子
From: https://blog.51cto.com/u_15812686/5739741

相关文章

  • 思谋科技招聘|AI算法岗、后台开发等多个岗位
    思谋科技春招/社招内推公司介绍思谋科技(SmartMore)成立于2019年12月,是行业领先的新一代视觉AI前沿技术企业,致力于AI视觉体系架构在智能制造、超高清视频领域的落地应用。思谋......
  • .NET现代化应用开发 - CQRS&类目管理代码剖析
    ​本周MASAFramework进行了第四次课程直播,课程主题为类目管理的开发,直播中进行了理论讲解和实战演练(CQRS实践的演示可直达推文底部观看直播回放)开始环节我们围绕三个点......
  • 《MiniPRO H750开发指南》第四十二章 FLASH模拟EEPROM实验
    第四十二章FLASH模拟EEPROM实验​STM32H750本身没有自带EEPROM,但是STM32H750具有IAP(在应用编程)功能,所以我们可以把它的FLASH当成EEPROM来使用。本章,我们将利用STM32H750内......
  • Chrome开发者工具-网络抓包
    Chrome开发者工具简介Chrome开发者工具是Chrome浏览器自带的一款开发调试工具,可以查看页面元素,调试JavaScript脚本,网络抓包,进行网页性能诊断等非常强大的功能,并且使用非常......
  • Qt开发经验小技巧251-255
    今天在一个头文件中,发现#ifdefQ_OS_WIN#ifdefQ_CC_MSVC之类的都失效了,搞得差点怀疑人生了。经历过之前类似的教训后,排查原来是没有提前引入qglobal.h头文件导致的......
  • .NET中大型项目开发必备(14)--数据库的负载均衡(续)
    前言:本系列文章适合有初/中级.NET知识的同学阅读(请在电脑上打开页面,获取更好的阅读效果)。(1)本系列文章,旨在讲述研发一个中大型项目所需要了解的一系列“基本构件”,并提供这......
  • Docker开发实践 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1-BEyIUEZKs1c1N7WO0cG5Q点击这里获取提取码 ......
  • VScode开发STM32/GD32单片机-MakeFile工程JlinkRTT配置
    本次使用开发板为STM32F401CCU6,使用CubeMX配置一个Makefile工程  配置时候为内部时钟  工程选择makefile工程类型 只生成需要的文件  用VSCode打开后显......
  • ARM开发:使用MDK编译stm32简单程序
    keil环境的搭建1.首先需要下载安装mdk5软件和stm32包,这里附带配置MDK所需要的的包将压缩包解压后,我们就可以开始安装MDK了。2.其次需要1双击打开mdk_510.exe应用程序......
  • 动手开发一个有用的 ABAP ALV 工具 - 查看指定用户的 ABAP 传输请求,模拟 SE10 事物码
    我们知道ABAP系统里有一个有用的工具,事物码SE10,输入用户名称,可以查看该用户在本系统上创建的传输请求(TransportRequest)列表:点击Display按钮,能看到用户名WANGJER......