文档章节

程序员不应该再犯的五大编程错误

_编程菜鸟_
 _编程菜鸟_
发布于 2013/11/20 21:40
字数 1322
阅读 33
收藏 0

当你成为程序员后,你很容犯下文所提到的这些错误。

话说失败是成功之母,在编程的道路上,犯错也是学习道路上不可或缺的一部分。尤其是初学者,他们犯的错误可能会比其他人更多,那么该如何才能避免这些错误的发生呢?

要有避免错误发生的意识,一旦意识到某种错误的发生,在下次编码时,就应该想办法避免,这样,代码就会越来越好,自己也会得到成长。

其实,大多数不良编程习惯的发生都源于我们的无知,没有其他原因了,下面让我们一起来看看哪些错误是编程人员经常犯的,不知道你有没有犯过这些错误,有则改之。

1.在没有理解的情况下就粘贴代码

有时,你会发现,你正在寻找某个功能的代码恰巧存在于他人的代码里,于是,你开始拷贝整段代码,而不是去理解每一行代码。

有时,你所拷贝的代码可能非常多,以至于你没有时间去完全理解它。如果你经常以这种方式拷贝代码,那么你的应用程序可能会存在很大的潜在风险,比较脆弱而易出现bug。

这样做的优点就是你可以很快完成工作,但由于你没有编写这段代码,所以,万一在后期,这段代码出现问题,你可能很难去维护。

所以,无论你所拷贝的代码是多还少,你都应该非常小心,确保自己已经完全理解了这些代码。如果你之前已经使用过这段代码,并且可以100%的运行起来,没有其他问题,那么你就可以放心地使用,否则,你一定要谨慎。

2.每次都从头开始

这是初学者经常犯的错误,你可能会认为很好,每一次都重头开始创建应用程序。但殊不知,这是巨大的资源浪费——时间、精力和心思——这些完全可以更好地用在其它地方。

如果你需要的东西已经有了,那就直接利用它,无需对同一个概念一遍一遍地重建。

如果有现成的API、框架或游戏引擎可以轻松完成你的任务,那么你就应用使用它。你的目标并不是展示你的能力有多强,而是确保应用工作起来有多完美,并且利用较少的资源实现它。

这样,你就可以事半功倍地完成任务。话说时间就是金钱,花更少的时间完成更多的事情,何乐而不为呢。

3.遇到问题就Google

许多次,习惯性的,一遇到新问题就通过Google来查找解决方案,要想成为一名好程序员,这并不是个好法子。如果你每次都是通过外部力量获取解决方案,而不是自己思考,那么,你的思维将永远得不到挑战,不是有句俗话吗:脑子不用会生锈的。

当你的思维停止挑战,编程技能也会下降,尤其是对于程序员来说。解决问题的能力与编程技能的提升是有很大关系的。当然,通过搜索来查找解决方案并不是什么坏事,但前提是,先动脑。或许,你只需花费很少的时间,就可能把问题很好地解决、或许你的解决方案比他人的更加精确。

不尝试,你永远都不知道。

4.忽视警告

当出现警告时,你应该意识到会有潜在的问题产生。

警告是一种迹象,表明你所做的功能并不能时时刻刻很好地工作。有时,这些警告并不严重,并且可以安全的忽视。但当问题真正来临的时候,在应用程序显示成百上千个警告,并且不能完全正确地工作。

这样,要想发现这些错误的原因,就变成非常困难。你不得不花更多的时间来分析每个警告,并且查找问题的根源所在。相反,最佳的解决方案是当警告初次出现时,你就开始查找原因并解决。

通常,你只需使用正确的变量或方法即可解决大多数警告,无需花费太多的时间。要尽早处理这些警告。

记住,对待警告如同错误一样。

5.快速修复而不是永久性地修复

有时,我们只是快速地修复下问题,而不是永久性地解决。但如果一不小心,问题还会以各种各样地方式出现。

同样,修复问题时不应该破坏原有的系统,修复一个bug应该是提高整个系统的运行效率,而不是使它变慢或变笨。

本文转载自:

共有 人打赏支持
_编程菜鸟_
粉丝 3
博文 105
码字总数 14021
作品 0
武汉
新手入门程序必须克服的5个障碍

程序员作为目前当下互联网行业中必不可少的角色,高薪酬,好就业成为其身上颇具代表性的两个标签。 很多人都有入行或者转行来做程序员的想法。不过想要成为一个合格的程序可并不轻松,作为一...

丨小丶牧灬
2015/06/23
1K
6
程序员的 5 种类型

在我的代码旅程和编程经历中,已经遭遇很多奇特的对手,还有更为奇特的盟友。我至少发现有5种代码勇士,有些是出色的战友,其他则似乎都在搅黄我的每个计划。 不过他们都在软件开发的万神殿上...

二胡
2012/01/12
2.4K
9
Java程序员的职场规划

Java程序员还是该叫Java“程序猿”呢,很多做编程的都见过这词,前段时间看到很多关于Java程序员苦B的新闻,有Java程序员改行去卖猪肉的、有Java程序员一直娶不到媳妇的,说的最多的是Java程...

老姜咕泡
2017/06/20
36
0
作为开发者,你不应该害怕的 8 件事

1. 改变 在软件开发中,没有什么事情会一直停滞不前。现在你正在开发的东西,只是软件的其中一个版本,未来随时可能发生变化。 变化是在软件开发中最常见的事情,你最好接受这一事实。一种好...

oschina
2013/03/20
6.5K
43
防御性编程

Author:bakari Date:2012.8.25 本篇是我根据网上的一些陈述经过整理和总结而得。其中详细的内容我会标注出处。看不懂的可以查看原文. 一、什么事防御性编程 详细请见:http://www.uml.org....

chambai
2012/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

现场看路演了!

HiBlock
19分钟前
0
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
36分钟前
1
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
40分钟前
0
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
今天
1
0
AVA中CAS-ABA的问题解决方案AtomicStampedReference

了解CAS(Compare-And-Swap) CAS即对比交换,它在保证数据原子性的前提下尽可能的减少了锁的使用,很多编程语言或者系统实现上都大量的使用了CAS。 JAVA中CAS的实现 JAVA中的cas主要使用的是...

码代码的小司机
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部