当前位置:网站首页 > Java基础 > 正文

java基础是否对后期有影响




【CSDN 编者按】在软件开发的道路上,时间是最好的老师。根据“一万小时定律”,要成为某个领域的专家,通常需要大约一万小时的刻意练习。本文作者身为一名程序员,也经历了一万小时的编程,最终悟出了一个道理:慢即是快,重视架构设计和代码质量,确保每一行代码都经得起时间的考验。

出品 | CSDN(ID:CSDNnews)

我已经做了 7 年多的程序员了,在这期间,我在后端、前端和 DevOps 方面参与了无数个项目。尽管如此,我并不认为自己是一名伟大的程序员;有很多人不仅比我聪明,经验也更丰富。不过这些年来我也总结出了一些经验,让我在编程道路上不断进步,并构建出更可靠且易于维护的软件。

“学会放慢速度,反而能让我编码更快、发布更多,并在整体上更加高效。”

这不仅仅是多年的编程经验,也是我从生活中学到的教训:你必须时刻保持缓慢,不要急躁。



软件开发中的头号问题

很多人在开始编程时,总认为伟大的程序员就像会魔法,他们能以一种无人能懂的独特方式去构建应用程序——但这与事实完全不符。如果仔细查看那些伟大程序员的代码,你会发现它们其实非常简单、很好理解。

不是说在开发应用程序时使用快速、炫酷或使用最尖端的技术,你才能被认为是一名优秀的程序员。管理者也常常犯这个错误,他们老是根据一些不切实际的标准来进行招聘。在我看来,要求应聘者从零开始构建一个应用程序的编程测试是一种相当糟糕的评估方法,它无法全面反映一个人的能力。相比之下,白板面试其实更好,因为至少它可以考察你的智商和思维方式。

那么接下来,让我们谈谈每个人都应该关注但常常忽视的头号问题:

开发者体验

在绝大多数项目中,开发者体验是最重要的事情。每个人都希望快速发布以实现盈利,但最终他们往往在一个月内完成了 90% 的应用程序开发,而剩下的 10% 却需要三个月才能完成。

我理解,开发者总是对新项目充满热情,想要尽快展示成果以获得满足感,并让经理满意。虽然短期内这确实能让经理高兴,但从长远来看,每个人都会陷入恐慌,并在 4-5 年后考虑重构甚至从头开始重建那款应用程序——这就是为什么实际创建功能变得非常困难,而将其推向生产更是难上加难,于是便产生了滚雪球效应。

下面让我们来看两个代码示例:两个控制器,用于从数据库中获取热门用户并为其附加表情符号(来自我的一个开源项目 reporanger.xyz 的代码)。

这是从路由调用的控制器,其中包含所有功能以及一个 try-catch 块,用于检查是否存在错误:

 

/p>

/p>

/p>

/p>

/p>

/p>

/p>

/p>

/p>

/p>

/p>

/p>

pre>

/pre>

br/>

img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F0924%2Fae8ab68ep00skb7mj0009d200jg0028g00id0023.png&thumbnail=660x&quality=80&type=jpg"/>

br/>

strong>首先进行重构

/strong>

img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F0924%2F890f8332p00skb7mj000ad200jg0028g00id0023.png&thumbnail=660x&quality=80&type=jpg"/>

br/>

strong>提交前检查

/strong>

这一点非常重要。对于 JavaScript/TypeScript 项目,我们可以用 Husky。当然,针对不同的语言或框架还有很多其他选择。简单来说,Husky 是一个工具,它会在你提交代码之前运行一些命令。如果出现错误,那提交就不会通过。下面是一个来自 reporanger.xyz 的配置示例:

1、Lint Check(代码风格检查)

2、Run Tests(运行测试)

3、Prettify(代码格式化)

这三个简单的步骤,就能让你的代码库质量提升 10 倍。

 


简而言之

有很多方法可以用来改进你的代码,而我上面提到的这些做法其实并不难实现。尤其现在有了大模型(LLM)的帮助,很多问题往往不是你能不能做,而是你是否愿意去做。

版权声明


相关文章:

  • java spring 零基础2024-10-27 16:26:00
  • java语音的基础2024-10-27 16:26:00
  • java基础篇反射机制2024-10-27 16:26:00
  • Java项目基础服务如何拆分2024-10-27 16:26:00
  • java基础开发项目2024-10-27 16:26:00
  • java 0基础 有人要吗2024-10-27 16:26:00
  • java基础知识黑马2024-10-27 16:26:00
  • java基础和大数据2024-10-27 16:26:00
  • java基础练习题大全2024-10-27 16:26:00
  • java架构师入门基础知识2024-10-27 16:26:00