文档章节

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

_编程菜鸟_
 _编程菜鸟_
发布于 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
作为开发者,你不应该害怕的 8 件事

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

oschina
2013/03/20
6.5K
43
程序员写代码时应该反复问自己的 10 个问题

你想成为一名优秀的程序员吗? 那么,现在是时候放下《24小时学会xxx语言v8.3》超级骗子书,相反,你应当养成每天反问自己以下10个问题的习惯。 你的代码中是否有一种模式存在? 找寻模式中的...

oschina
2014/10/17
8.6K
32
防御性编程

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

chambai
2012/08/27
0
0
程序员的 5 种类型

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

二胡
2012/01/12
2.4K
9

没有更多内容

加载失败,请刷新页面

加载更多

下一页

@SpringBootApplication 注解

@SpringBootApplication注解是一个组合注解,包含以下注解 @Target(ElementType.TYPE) 注解的作用目标 @Retention(RetentionPolicy.RUNTIME) Reteniton的作用是定义被它所注解的注解保留多久,...

java.刘
33分钟前
0
0
sentinel自定义DataSource实战

序 本文主要研究一下如何自定义sentinel的DataSource,这里以jdbc为例。 maven <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sen......

go4it
48分钟前
1
0
xgboost/gbdt在调参时为什么树的深度很少就能达到很高的精度?

问题: 用xgboost/gbdt在在调参的时候把树的最大深度调成6就有很高的精度了。但是用DecisionTree/RandomForest的时候需要把树的深度调到15或更高。用RandomForest所需要的树的深度和Decisio...

tantexian
50分钟前
0
0
php-fpm的pool - 慢执行日志 - 进程管理 - open_basedir

php-fpm的pool : 为避免多站点使用同一个pool时因一个站点故障导致php资源耗尽,牵连使用同一个pool的其他站点的正常工作,可对每一个站点设置独立pool。 增加pool: 1.编辑php-fpm配置文件...

ZHENG-JY
今天
0
0
Linux之ssh服务默认端口修改

导读 SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全...

问题终结者
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部