日常开发中,提升技术的13个建议

最近有位好友问我:日常开发中,都是在做业务需求,如何提升自己的技术呢?因此,本文小黑整理了提升技术的13个建议,小伙伴们,一起加油。

图片

1. 打好基础,深入学习语言特性

比如,对于Java程序员来说,要了解Java语言的基本概念和核心特性,包括面向对象编程、集合框架、异常处理、多线程等等。可以通过阅读Java的官方文档、教程、参考书籍或在线资源来学习。

如果最基本的基础都不扎实,就不要谈什么提升技术啦。 比如说:

  • 你知道HashMap和ConcurrentHashMap的区别嘛?

  • 在什么时候使用ConcurrentHashMap

  • 操作文件的时候,你知道在finally块中释放资源嘛?

  • 你知道在哪些场景适合用泛型嘛?

因此,要提升自身技术,首先就是要把基础打扎实。有些小伙伴说,上班没时间学基础呀,其实不是这样的,基础这玩意,每天地铁上下班看看,下班后回到家再看看,周末在家看看,多点写写代码,一般一两个月,你的基础就很好啦。

又有些小伙伴说,如何提升Java基础呢?有哪些教程推荐呢?可以:

  • 阅读Java相关书籍或教程,如Java编程思想、Java核心技术、Java虚拟机、菜鸟教程等

  • 阅读Java博客和社区参与讨论:关注Java领域的博客、论坛和社区,了解最新的技术动态和解决方案,与其他开发者交流。

  • 多实践,多敲代码:在B站找个Java基础视频看,平时多实践、多敲代码

2. 熟悉掌握常用的开发工具

工欲善其事,必先利其器. 所以一位好的程序员,往往编码效率就更高。而提升编码效率,一般要求熟悉并灵活应用工具.比如Eclipse、IntelliJ IDEA、Maven、Navicat等。熟悉运用这些工具,可以提高开发效率。

我举个例子,比如你熟悉掌握IntelliJ IDEA的快捷键,三两下就把实体类的setter和getter方法生成了,而有些的程序员,还在一行一行慢慢敲。

3. 日常工作中,总结你踩过的坑

优秀的程序员,之所以优秀,是因为他会总结踩过的坑,避免重蹈覆辙。所以,田螺哥建议你,日常开发中,如果你踩了哪些坑,就需要总结下来.茶余饭后,再温习温习.

比如,你知道:

  • Redis分布式锁使用,可能会有哪些坑嘛?

  • 线程池使用有哪些坑?

  • Java日期处理有哪些坑嘛?

  • Arrays.asList使用可能有哪些坑?

4.工作中,阅读你们系统优秀的代码和设计文档

孔子说,三人行,必有我师。大家平时在看代码的时候,不要总吐槽着项目的烂代码。其实,可以多点关注写得优秀的代码,然后看懂别人为什么这些写,仿造着来写。

当然,一些好的设计文档也是:人家为什么这么设计,好处在哪里,不足又在哪里,如果是你来设计,你如何思考等等。把好的设计,读懂后,记录下来,变成自己的知识.

5.日常工作中,总结一些通用的技术方案.

在日常工作中呢,注意整理一些通用的技术方案。

比如幂等设计、分布式锁如何设计、分布式事务设计、接口优化、限流设计、分库分表设计、深分页问题解决等等。

当然,小黑也建议你,日常开发中,把自己遇到的一些通用设计方案总结下来,熟悉掌握这些通用技术方案。

6.参与技术讨论,积极技术分享

参与技术讨论和交流,可以有助于你与其他Java开发者分享经验、解决问题和学习新知识。进行技术分享,可以加深自己的理解、建立专业声誉、促进个人成长、为技术社区做贡献等等。

比如你做需求遇到的一些难题,都可以跟有经验的同事、或者技术leader讨论讨论。一些常见的难题,讨论完可以记录下来,然后做技术分享

7. 主人翁意识,积极攻克项目的难题

作为一名开发工程师,具备主人翁意识并积极攻克项目的难题,是非常重要的。遇到项目中的比较棘手问题时,先不管是谁的问题,我们都要持有主人翁意识,积极主动地找到解决方案并采取行动。

而在找技术解决方案的过程,我们也就成长了。当攻克问题后,你也获得领导的认可,好绩效不远了,一举多得

8. 思考项目中,哪些可以提升效率

日常开发中,几乎大多数程序员都是在进行增删改查。如何如何避免自己成为平凡的增删改查程序员呢。

我觉得可以这样做:平时工作中,思考项目中,有哪些可以提升的效率。包括熟悉开发工具、掌握适当的调试技巧、熟悉常用框架、持续学习和关注技术发展等等。

比如:

  • 好的的debug调试技巧,可以让你快速找到问题

  • 再比如一个插件easyyapi可以一键让你快速生成yapi接口文档,而不用一个一个字段手工敲接口文档。

当然,日常开发中,还有很多可以提升效率的技巧/工具,等待我们去发现

9. 熟悉你的业务,让自己不容易被替代

我们普通程序员,多数都是做业务的。一般工作个五年以上,水平差不了太多。如何避免自己被淘汰呢?我个人建议是,尽量做到熟悉你们做的业务,让自己变得不容易被替代。

10. 多看看你的系统,可能存在哪些问题,如接口耗时、慢SQL等等

一般的系统,多多少少都有些问题。比如接口耗时过长、慢SQL、fullGC频繁等等。

首先需要掌握这些技能,比如如何优化接口,如何优化慢SQL、fullGC如何排查等等。

11. 学以致用,将理论知识应用到实际项目中

很多小伙伴说,看过很多计算机相关的书,阅读过很多博客,背了很多八股文,依然做不好一个系统。

我觉得,大家可以多点思考,把平时积累的东西,应用到实际项目中。背八股文不是没用,你可以把它应用到实际开发中的。比如说,你看了一篇文章,表面看起来就是一个常见的八股文知识点,工作中似乎没用到。但是我在工作中,就用到这种类似的异步思想

比如发起一笔批量转账,但是批量转账处理比较耗时,这时候后端可以先告知前端转账提交成功,等到结果处理完,再通知前端结果即可。

再比如,你看了sql索引的文章,你是不是可以回头看看,你的系统中,那些sql的索引加的是否合理呢?是不是可以思考一下如何优化,对吧。因此,就是要学以致用

12. 阅读一些优秀框架的源码,如spring、rockectMq等等

如果你有空余的时间,就建议你看看一些优化框架的源码,比如spring、rockectMq等等。

对于spring源码的话,可以按模块来呀,比如aop,控制反转,spring事务等,你先写个demo,然后debug跟踪流程,通过调试器逐步跟踪源码执行过程,观察各个方法的调用关系和数据变化。最好是结合电子书一起,如(Spring源码深度解析这本书一起)

优秀框架的源码,我们可以学习到很多编码思想的,加油。

13. 多编码,少偷懒,养成编程的好习惯

作为程序员,一定要多打代码,不要偷懒,代码敲多了,你就会了。还有就是,少点偷懒,坚持!努力!养成热爱编程的好习惯

总之,提升技术需要不断学习、实践、总结和积累经验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/103035.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7英寸触摸显示屏企业网络电话

SV-X77英寸触摸显示屏企业网络电话 SV-X7网络电话是一款带有7英寸触摸显示屏的高端式企业级电话,以先进设计及强大的功能大幅度提高企业工作效率。 功能亮点 √ 虚拟可编程按键 — 可动态显示4个分页,每页可设置显示29个DSS键的状态,最多支持…

记一次以太网连接失败修复

症状: 很久没用这个电脑了,开机以后,发现连不上校园网。 遂检查网线,发现网线连在自己笔记本是可以用的,说明网线没问题。 但是网线连在主机是红灯常亮黄灯闪烁,怀疑是网卡有问题(后证明不是&#xff0c…

手机上pdf转word的方法,快来掌握一下吧

在日常工作和学习中,我们常常需要将PDF文件转为Word文档以方便编辑和修改。本文将介绍手机上PDF转Word的方法及需要注意的事项。 PDF转Word的方法 目前市面上有很多PDF转Word的应用,通常都是在电脑上操作的,但是很多时候我们不在电脑前如果需…

智慧能源方案:TSINGSEE青犀AI算法中台在能源行业的应用

一、方案背景 互联网、物联网、人工智能等新一代信息技术引领新一轮产业革命,加快能源革命步伐。尤其是随着人工智能技术的不断发展,AI智能检测与识别技术在能源行业的应用也越来越广泛。与此同时,国家出台多项政策,将智慧能源纳…

【ALM工具软件】上海道宁与Perforce为您带来用于整个生命周期的应用程序生命周期管理软件

Helix ALM是 用于整个生命周期的 应用程序生命周期管理的ALM软件 具有专用于 需求管理(Helix RM)、测试用例管理(Helix TCM) 问题管理(Helix IM)的功能模块 Helix ALM提供了 无与伦比的可追溯性 您将…

OceanBase 里的 schema 是什么?

李博洋 OceanBase 技术部研发工程师。 OceanBase 开源社区里经常会看到一些类似于 “ schema 是什么” 的疑问: 很多同学经常会误以为在 OceanBase 里,schema 只是 database 的同义词,这次分享就从 schema 是什么这个问题稍微展开聊一下。 首…

Java多线程4种拒绝策略

文章目录 一、简介二、AbortPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 三、CallerRunsPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 四、DiscardPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 五、DiscardOldes…

libQGLViewer的编译和使用

文章目录 libQGLViewer的编译和使用1 前言2 libQGLViewer开发环境搭建2.1 Qt Creator的下载安装2.2 libQGLViewer的下载编译2.3 安装Qt Designer 的QGLViewer控件插件(可选)2.3 关于Qt Designer 的QGLViewer控件插件的一些问题 3 在自己的项目中调用4 总…

功能定义-紧急制动系统

功能简介 紧急制动系统的触发过程如上图所示: 安全距离报警:当两车距离较近时,会给予驾驶员相应提示 预报警:当两车存在碰撞风险但风险较低【Danger Level1】时,会给予驾驶员提示【提示相比之前更为明显】 制动预填充&…

Leetcode 2431.最小偶倍数

给你一个正整数 n ,返回 2 和 n 的最小公倍数(正整数)。 示例 1: 输入:n 5 输出:10 解释:5 和 2 的最小公倍数是 10 。示例 2: 输入:n 6 输出:6 解释&#…

Allegro引流方式有哪些?Allegro平台注意事项

正确的引流,你的平台才会让更多人发现,才能提高转化率,那么Allegro引流方式有哪些,Allegro平台注意事项是什么呢? Allegro引流方式有哪些 商品优化:在Allegro上,关键是确保您的商品能够在搜索…

[SpringBoot3]博客管理系统(源码放评论区了)

八、博客管理系统 创建新的SpringBoot项目,综合运用以上知识点,做一个文章管理的后台应用。依赖: Spring WebLombokThymeleafMyBatis FrameworkMySQL DriverBean Validationhutool 需求:文章管理工作,发布新文章&…