如何提高编程能力,在没有CodeReview的情况下?

粉丝问:我目前所在公司没有代码审核,也没有技术经理。产品有时候也是口头需求,现在导致自己的编码能力越来越差(比如十几个if,包管理混乱)。

我知道是自己没有养成好的代码习惯,但是我从工作以来都靠自己摸索学习,有时候方向错了,或者说根本没看到过优美的代码长什么样,因为大家都是堆屎山,我知道可能大多数公司都是这样的,但是我也想写出一些看起来比较美观,易懂,易修改的代码。

也想有导师带= = ,虽然我已经工作2年了,我自己发现不了自己的问题。想请问各位,如何在没有人审查,自己提升编程能力(包括但不限于包管理,工程结构管理,代码的编写等等)。如果前辈们能提供一些代码辅助解释,就更好了。谢谢!

注:我目前的公司 开发都是根据业务自己搞,没有开会一起设计什么的,出问题了再堆if语句。并且不做单元测试,我到现在都不知道单元测试是啥。这种情况是否正常呢? 或者说正常的开发流程是什么样呢?

已收录于,我的刷题技术网站:ddkk.com 里面有,500套技术教程、1万+道,面试八股文、BAT面试真题、简历模版,工作经验分享、架构师成长之路,等等什么都有,欢迎收藏和转发。

要提高编程能力,尤其是在没有代码审核和技术指导的情况下,需要自己主动学习和改进。下面从几个方面来分享一些建议,希望能帮助你在这种环境下依然能提升自己的编码水平。

1、持续学习

首先,编程能力的提升离不开持续的学习。你可以通过以下几种方式来学习:

阅读优秀的开源代码:GitHub上有很多优秀的开源项目,你可以选择一些自己感兴趣的项目,仔细阅读它们的代码,理解其设计和实现思路。例如,Spring、Apache Kafka等项目的源码都是不错的选择。

阅读技术书籍:一些经典的技术书籍对编程思想和代码质量有深刻的阐述,例如《重构:改善既有代码的设计》、《代码整洁之道》、《Effective Java》等。这些书籍能帮助你建立良好的编程习惯和设计思维。

关注技术博客和社区:技术博客和社区上有很多高手分享他们的经验和见解。你可以关注一些知名的技术博客,如 DDKK.COM 网站,Gitee , GitHub ,也可以加入一些技术交流群,和其他开发者交流经验。

2、编写高质量代码

好的代码不仅要能实现功能,还要易于理解和维护。以下是一些编写高质量代码的建议:

遵循编码规范:无论是命名规范还是代码风格,遵循一致的编码规范能大大提升代码的可读性和可维护性。你可以参考一些行业标准的编码规范,如Google的Java编码规范。

模块化设计:将代码分成独立的模块,每个模块负责特定的功能,这样能减少代码间的耦合,提高代码的可维护性。例如,可以将数据访问层、业务逻辑层、控制层分开,各自处理不同的职责。

减少代码重复:DRY(Don't Repeat Yourself)是编程中的重要原则,避免重复的代码能减少错误的可能性。可以通过抽象公用方法、使用继承或组合等方式来实现代码复用。

3、良好的项目结构

一个合理的项目结构不仅能让代码更有条理,还能提升开发效率。以下是一些建议:

合理划分包结构:根据功能将代码分成不同的包,每个包内的类职责明确。例如,可以将控制器放在controller包中,服务类放在service包中,数据访问类放在repository包中。

使用Maven或Gradle进行依赖管理:Maven和Gradle是Java中常用的构建工具,能方便地管理项目依赖,简化项目构建流程。你可以选择其中一个工具来管理项目依赖,并学习如何编写配置文件。

4、单元测试和持续集成

单元测试能帮助你在早期发现代码中的问题,提高代码的可靠性。持续集成则能自动化构建和测试过程,提高开发效率。以下是一些建议:

编写单元测试:使用JUnit或TestNG等测试框架编写单元测试,确保代码的每个单元都能正确工作。你可以从简单的测试开始,逐步增加测试覆盖率。

使用Mock工具:在单元测试中,可以使用Mockito等Mock工具来模拟依赖对象,确保测试的独立性。

引入持续集成工具:使用Jenkins、GitLab CI等持续集成工具,自动化构建和测试过程,及时发现问题。

5、主动寻求反馈

即使没有代码审核和技术经理,你依然可以通过其他方式获取反馈,改进自己的代码:

代码审查工具:使用SonarQube等代码���查工具,自动分析代码中的潜在问题和改进建议。

参加开源项目:参与开源项目的开发,不仅能学习优秀的代码,还能通过贡献代码获取其他开发者的反馈。

向同行请教:即使没有正式的代码审查,你依然可以主动向同事请教,寻求他们对你代码的意见和建议。

总结来说,提升编程能力需要持续学习、编写高质量代码、保持良好的项目结构、重视单元测试和持续集成,并主动寻求反馈。希望这些建议能对你有所帮助,让你在没有代码审核的环境下依然能不断提高自己的编程水平。

已收录于,我的刷题技术网站:ddkk.com 里面有,500套技术教程、1万+道,面试八股文、BAT面试真题、简历模版,工作经验分享、架构师成长之路,等等什么都有,欢迎收藏和转发。

相关推荐
佩奇的技术笔记44 分钟前
Java学习手册:单体架构到微服务演进
java·微服务·架构
Kookoos1 小时前
ABP vNext + EF Core 实战性能调优指南
数据库·后端·c#·.net·.netcore
zm1 小时前
服务器多客户端连接核心要点(1)
java·开发语言
FuckPatience1 小时前
关于C#项目中 服务层使用接口的问题
java·开发语言·c#
天上掉下来个程小白2 小时前
缓存套餐-01.Spring Cache介绍和常用注解
java·redis·spring·缓存·spring cache·苍穹外卖
揣晓丹2 小时前
JAVA实战开源项目:健身房管理系统 (Vue+SpringBoot) 附源码
java·vue.js·spring boot·后端·开源
编程轨迹_2 小时前
使用 Spring 和 Redis 创建处理敏感数据的服务
java·开发语言·restful
奔驰的小野码2 小时前
SpringAI实现AI应用-自定义顾问(Advisor)
java·人工智能·spring boot·spring
奔驰的小野码2 小时前
SpringAI实现AI应用-使用redis持久化聊天记忆
java·数据库·人工智能·redis·spring
裁二尺秋风2 小时前
k8s(11) — 探针和钩子
java·容器·kubernetes