首页 存档 技术 查看内容

程序员编程生涯中会犯的6个错误!

2018-3-30 13:00 |来自: 互联网 269 0

摘要: 下面就是程序员在他们的软件开发生涯中最常犯的错误。 1、没有明确的目标 心中没有目标,那就只会随波逐流。如果你想在软件开发的职业生涯上获得成功,那么你需要有一个明确的目标。 仅仅只是对遥远的未来有一个模糊 ...

下面就是程序员在他们的软件开发生涯中最常犯的错误。

1、没有明确的目标

心中没有目标,那就只会随波逐流。如果你想在软件开发的职业生涯上获得成功,那么你需要有一个明确的目标。

仅仅只是对遥远的未来有一个模糊的想法是不够的。相反,你应该有坚实的目标在某个时间段内的首要目的明确定义的目标。

其实有许多程序员和所谓的专业人士庸庸碌碌地在同一个岗位上干了几十年,是的,你没听错,就是几十年!

这是一场悲剧,如果没有目标,这就是你人生的默认选择。请引以为戒,否则下一个悲剧就会是你。

2、不投资于非技术和“软技能”

软技能对我们的编程生涯非常重要,而不仅仅是那些大多数程序员重点关注的技术技能。

作为一个软件开发人员,你肯定知道,你的工作并不仅仅是编写代码。还有其他许多必要的重点技能。

我们得时常与人打交道,所以人际交往能力是必须的。紧张的时间期限,快速的变化则需要稳定的心理,能够全神贯注,并懂得自我激励。

在一个不断变化的环境中,在一个充斥了各种繁多和意外的环境中,我们要学会如何优先安排,并尽可能地富有成效。

3、“没有选择正确的工具”

我多次与不同的公司谈到他们开发堆栈。有时候他们做的很花哨,并发和分布式事物使用Ruby…。当我问他们为什么选择这个相对低效的语言时,他们的回答是所有的程序员对Ruby最了解。当然,这显然是最快并且最廉价的方式。他们并没有考虑到长期运行的可维护性。他们只关注价格和便捷性。这给他们带来很大的技术债务,并且很可能需要做很多hacking来实现既定目标。

另一个常见的现象是,很多程序员在熟悉业务规则之前就选择技术栈。经常可以在充满激情的程序员中见到这种现象。他们是如此热衷于开始开发和使用所有的最新的框架。他们不考虑系统将要做什么,需要解决什么问题,他们就已经选好了数据库和语言。

4、“重复造轮子”

这个问题主要是对其他人参与的不熟悉。当我review别人代码的时候经常看到这种情况。我经常问:“你看到那个class/module/function 了吗?它跟你已经实现的完全一样。”这主要是程序员不经常浏览代码,他们不知道一些代码可以重复使用,而不用在任何地方都重复提取。

如果我们遵循一些共同的模式,指导方针和架构的时候尤其如此。极有可能其他程序员已经在其他地方解决了这个问题,提取、抽象出了我们现在需要一个功能。

5、“别管我,我只想一个人安静地写代码!”

是不是每天想安安静静地写代码时,IM窗口或者Email总会不合时宜地弹出各种提示,一会要开会啦一会要讨论需求了,再一会测试又来和你理论Bug了。世界这么喧嚣,还让不让人安静地写代码了?“别管我,我只想一个人安静地写代码”,这句话道出了多少程序员的心声啊,我们都想“静静”!不过今天我要告诉你,这种想法是多么的错误,并且严重影响了你职来生涯的发展。

如果你觉得自己的工作就是写写代码,那你最好三思。在软件开领域,我们大多数时候是与人而不是与计算机打交道。我们所写的代码首先是供人使用的,其次才是让计算机可以理解的,如果你只想和机器打交道,那写二进制的代码机器才能理解你。仔细想想自己一天的工作中有多少时间用在了与人互动上,收发邮件、会议、讨论(扯皮)等等,作为一个软件开发人员,你的工作就是与人打交道(其实几乎所有的职业都是这样)。

6、不加理解的拷贝代码

你经常会发现你需要的代码在一些别的程序里面有。整段的拷贝代码并且就这么使用它而不去烦恼于理解每一行代码是很诱人的。

有时候你拷贝的代码可能太大了以至于没有时间去完全理解它。如果你拷贝任何代码都像这样,就会有让你的程序变得脆弱易出bug等风险。

这样可能让工作完成,但是如果这段代码在某种情况下产生了一些意外的行为将会怎么样?如果使你的程序变慢或者有恶意行为将会怎么样?因此需要恰当的理解这些代码,或者需要绝对的确信你拷贝的代码的出处。

如果以后产生了bug,你会发现很难理解这些代码,因为你从来没有写过它。甚至于你会发现很难去找出bug并且修复它,特别是如果拷贝了很多代码在程序的不同地方。

编程的世界中有很多的问题,我们每个人都有不同的技能,不同的能力和动力来源。即使是我们不这么想的方式也会不同。我们应该互相沟通,共同解决问题,并做出权衡。

学习是关键。自主开发不应该停止。我们不得不这样做,除非我们不想成为优秀的程序员。不断地学习和了解新的东西是我们应该做的工作。

From:程序员精选

原文链接:http://www.toutiao.com/a6408690281155821826/


文章回顾

【182】程序员看好!这五大编程语言最应该学

【183】程序员们,想进BAT?请让你的简历用数据说话

【184】作为技术人员,你有必要了解这些黑客工具!

【185】程序员之职位篇:不同职位程序员前途一览

【186】做为一个程序员,你需要的9大核心能力


回复文章编号,例“001”即可获得全文


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部