新手开发者的四大特征:这些细节会“暴露”你欠缺经验

开发 前端
程序员要从实践中学习。在实践中,你会犯错误,但只要你能从错误中吸取教训,就能获得成长。来回顾一下吧,你的哪些特征曾“透露”出这是一个新手。

本文转载自公众号“读芯术”(ID:AI_Discovery)。

“经验是最严厉的老师。它上来就把你考倒,尔后才授教于你。”奥斯卡·王尔德这句话用来形容新手程序员的生活很贴切。程序员要从实践中学习。在实践中,你会犯错误,但只要你能从错误中吸取教训,就能获得成长。

来回顾一下吧,你的哪些特征曾“透露”出这是一个新手。

[[342046]]

结构混乱的代码

新手开发人员编写的代码常常结构混乱,如果有轻量级结构就已经很不错了。而造成这点的原因在于他们过于关注代码的运作,经验丰富的开发人员知道,作为一名开发者,你还有更多的工作要做。

编写代码并使其运作只是开发人员工作的一小部分,新手开发人员却把它当成了重中之重。随着经验的积累,你会意识到你的大部分工作是维护项目,而不是从头开始构建新项目。意识到这一点之后,你将以完全不同的方式进行编码。这会使代码更容易维护,更易于其他开发人员理解。

如果没有意识到这一点,就会出现函数堪比一篇文章大小的情况。很多问题也随之而来,例如可测试性。你要如何测试堪比论文的函数,而且它还要实现五个不同的功能?

如果只是想让代码运作起来,在大多数情况下,这样的代码都是没有经过深思熟虑的,代码质量会因此受到影响。这种类型的代码通常看起来像过程代码,不遵循诸如单一功能原则这样的编码原则。当进入维护阶段,你就会意识到代码质量欠佳会带来多大的问题。

[[342047]]

图源:unsplash

乱枪除错

新手开发人员遇到问题时,常常会开始胡乱调试,想到哪里试哪里。在不知道实际问题是什么的情况下,随机修改代码中的一些内容,希望瞎猫碰上死耗子,成功解决问题。

很明显,这在大多数情况下是行不通的,这样做只会引入更多的bug。开发人员应该做的不是胡乱调试,而是收集有关问题的更多信息。

首先要做的是找出重现问题的方法。在更改代码之前收集信息是很重要的,这样就可以了解到底是什么导致了bug。打开日志文件是调试之旅的一个良好开端。看看能否找到一些有用的信息,指引你找到正确的方向。

找到了bug的出处并修复之后还不算完,如果真的想把事情做好,至少应该为修复程序编写一个测试,以便在未来出现问题的时候得到保护。

过于关注技术

新手开发人员仍在学习技术的阶段。因此,他们关注的重点通常是掌握自己的技术栈。这也说得通,因为如果你想成为一个出色的开发人员,就需要掌握相关技术栈。但是开发人员应该关注的不仅仅是技术。

当了解了技术栈的所有细节后,不应该把业务抛在脑后。因为这就是你做这份工作的原因。你是在为公司创造价值,还是在一些与公司无关的事情上花费了太多的时间?这是一个应该一直问自己的重要问题。

作为开发人员,你不能仅仅专注于工作的技术方面,还需要牢记业务和经济因素才是评判你工作价值的关键因素。

 

[[342048]]

 

 

图源:unsplash

 

做事的差别

团队工作中的一些小细节也会“暴露”新手开发人员,他们常常喜欢用自己的方式做事,而不是和团队中的其他人保持一致。有时这种情况是无意中发生的,新手开发人员不能认识到解决方案中的某些模式。

为了与团队成员统一步调,你可以查看创建好的所有pull请求。不必全部都看,只要确保了解其他开发人员是如何解决某些问题的就可以了。他们的解决方案和你解决问题的方式是否相似?如果不是,问问他们为什么选择这种解决方案,以及是否考虑过你的解决方案。

别担心,每个优秀的程序员都是从菜鸟时期走过来的。转变思路,汲取经验,你离告别新手期并不太远。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2012-12-17 10:00:09

2013-08-19 16:45:33

微信5.0开发者雷区

2013-09-24 10:32:31

Android开发者工具

2018-12-15 13:49:55

腾讯云小程序云开发

2015-11-04 09:32:52

APP开发新手建议

2012-03-23 09:43:48

百度开发者大会

2023-03-25 19:25:26

OceanBase

2017-03-17 19:48:01

人脸识别

2014-09-19 11:34:51

TFCmob.comshareSDK

2023-05-19 14:01:47

AI模型

2011-07-10 14:42:10

PHP

2015-04-07 12:19:30

Web开发开发资源

2011-07-15 10:35:42

智慧运算数据整合

2010-11-11 10:54:03

求职者

2019-11-28 19:00:38

Java开发者编程语言

2019-11-28 13:39:43

JavaJava虚拟机程序员

2011-04-25 16:56:34

Greedy Bank游戏开发独立开发者

2024-02-22 14:04:04

开发框架

2018-12-15 13:19:36

腾讯云开发者服务体系

2013-09-10 09:35:53

移动开发者全能开发者技能
点赞
收藏

51CTO技术栈公众号