说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

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

HTML文档下载 WORD文档下载 PDF文档下载
本文总结了程序员经常犯的五大错误,尤其是初学者。在编程的道路上,犯错也是学习道路上不可或缺的一部分,但一旦意识到某种错误的发生,就应该想办法避免,这样,代码就会越来越好,自己也会得到成长。

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

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

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

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

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

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

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

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

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

2.每次都从头开始

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

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

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

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

3.遇到问题就Google

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

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

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

4.忽视警告

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

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

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

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

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

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

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

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

来自:5 Programming Mistakes You Should Stop Making

三款热门入门级在线编程教程对比 微软modern.IE:网站兼容性测试利器 Localytics:AngularJS代替Backbone 代码减少一半 史上增长最快的SaaS服务Optimizely:13亿访客,10万次测试 IDF上的云计算故事 移动周报:百万年薪、微信疑云,老罗小马本周很忙 一个创业失败者的自述:我是如何搞砸一款产品 收入百万美元:一个放弃上大学的程序员 Cocos2D配Box2D:逆天小白程序员作iOS游戏 招聘移动开发,老板必问的10个问题 黑客用智能手机劫持和控制民航飞机 几小时即可使互联网瘫痪的黑客 现已加入谷歌 Tsar开源:淘宝内部大量使用的系统监控工具 五款超实用的开源SVG工具 微信收费事件背后被广泛忽略的技术细节 UIDesigner 3.0架构设计总结 黑客怒了:政府花930万美金仅做一款App Email服务迎来“第二春” 未来将更加个性化 贯穿应用开发始终的八大陷阱 微评微软也推智能手表:是追求未来,还只是跟随? Firefox OS今年6月在5国首发 不含美国市场 8086/8088汇编指令手册 下一个被黑客攻击的对象—无线路由器 Windows Blue开始按钮或将回归,你怎么看? Evernote推孵化器 不占股权 基于C++和Lua的移动游戏引擎Leadwerks 3发布 苹果秘密测试iOS 7与iPhone 6 或将6月发布 酷6 CTO 陆坚:请先信任你的程序员 从电信联手i-Free,看运营商渠道的加速整合 “Animory”开发者分享HTML5游戏开发经验 Appflood SDK:连接中国与海外App流量交互平台 CEdit & CRichEdit 怎么调用flash文件 【【【简单的问题,只是我不知道而已 也不知现在那个版本的VS。ENT中文正式版要好点??? 关于DCOM的应用系统分发的简单问题! IBM TP600硬盘加密问题!!!在线等待 关于Linux下配置邮件服务器 哪里有适合delphi6的控健(包括fastreport)可以下载? 设备无关位图的数据,为什么与显示在屏幕上的RGB不一样,高手不一定会! 什么防火墙比较好???? 能用到存储过程吗? 如何操作动态连接库! 征求兼职,简单的数据库项目,要求人在上海。 怪问题送分 第五把钥匙 两台属于不同域的都安装的活动目录的服务器,如何建立域间的信任关系 一个delphi combobox的问题! WebControl中包含的中文字显示不正常? 怎样读取注册表中的数据呢? 刚刚写好一个 NT/2000/XP 的 backdoor (反向连接,插入系统进程,通讯加密) 愚人节千万别上厕所(刚看到的,转) 散 分! 高手进行,绝对给分! 继续上一个问题提问,关于动态窗体 不能加载控件dbgrid32?????许可证末找到??? 美萍反黄专家技术大讨论! Linux与四系统并存启动 怎么追这个很正点的女孩啊。请教。。。 急啊,连接数据库(online 请教MPEG4编辑问题 我的操作系统是2000,请问如何调整虚拟内存的大小? 谢谢詹维,请进来 java汉字显示乱码问题?? 我想自己编写一个画线的函数,不用mfc中的,而且速度要比mfc快,所以我想直接操纵缓存,请问怎么做? SQL SERVER2000中数据转换问题? 一个很奇怪的问题!高手请进! postdata.att文件用什么软件打开! 组网 我的网站怎么了? 如何解决问题:"无法在 sysdepends 中添加当前存储过程所对应的行,因为缺少该存储过程所依赖的对象 '测试2'。仍将创建该存储过程。" 搜寻指定路径下的所有文件。急~~~ 请问有blob字段的表怎么插入阿??? mysql在windows和unix下的问题!!!!!! SQL脚本颁布问题 请问,在Access中如何使用宏语句控制report的页面为“横排”? 交换机 一个计算机编程高手一定要是数学家吗? 当出现了这些编译错误,怎么半?程序本身运行没问题 我的Ie被别人设了分级浏览 我毕业设计要做关于信息隐藏技术的东西。具体请进~~~50分~~~ 关于WEBLOGIC6.1SP2的问题...... 英语名词双重所有格的用法 1/m+1/n=1/n+m则n/m+ m/n等于 锐角是第几象限的角?第一象限角一定是锐角吗?直角在第几象限?钝角在第几象限?我在此先谢过了! 所有格用法,忘了 x(m+n)-y(n+m)+(m+n)等于多少要步骤谢谢了e 装有半瓶水的瓶子浮在水中为什么总是底朝上而口朝下呢? 养有植物的花瓶上的气泡是什么形成的 现在计算机三级网络技术上机和二级上机差别大吗?顺便问一下现在二级都改成机考了,三级还是笔试和上机分着考吗?笔试题型和以前变动大吗?我今年9月考 who else's pen is this?的同义句 whose else=who else’s吗? 气泡是植物什么产生的 关于计算机三级网络技术刚考完二级C,据说得两个月出分.感觉笔试应该过了,上机还未知……所以犹豫是否考虑报九月份的三级网络技术,给提点建议吧……另外还有几个问题:1、九月份的三 Whose pen is this的答句?Whose is this pen?的答句答:这是我的书 名词所有格 a friend of my brother’s名词所有格中:a friend of my brother’s 为什么要中's,有of就表示我弟弟的朋友.为什么要双重? 小颖按如图所示的程序输入一个正数x,最后输出的结果为656,则满足条件的x的不同值最多有 A.2个 B.3个 C.4 Whose pen is this 和Whose is this pen的区别在哪里 描写景物的词语句子好的话+15分咯~好的话+15分咯~句子要多! 小颖按如图所示的程序输入一个正数x,最后输出的结果为259,则满足条件的x的不同值最多有输入x——计算6x+1的值——结果如果大于250——输出结果结果如果小于250——再重复前面的步骤 whose pen is this与whose is this pen的区别 名词所有格,'s结构可以转换成of结构在表示名词所有格时,'s结构可以转换成of结构.the girl's name→the name of the girl女孩的名字my father's friend→the friend of my father's我父亲的朋友the girl's name→the name 小颖按如图所示的程序输入一个正数x,最后输出的结果为3281,求出满足条件的x的所有不同的值最多有 输入x 计算5x+1的值 >500 是 输出结果————------- 否 Whose pen is this?It’s _____ (我的).Whose pen is that?It’s _____ (我的) pen Tom's brother 的名词所有格是什么 已知,实数-2 -1080°角属于哪个象限?“任意角及度量” 这课滴这个角应该是坐标轴上的吧 那应该是哪个象限类? brother的名词所有格 a小于0,b大于0 a的绝对值小于b的绝对值 请化简 根号((a-b)的平方)—根号(a方)—根号(b方) 设a属于第二象限角,则 a/2属于第几象限180k+90°< a/2 设抛物线C1:y^2=4mx(m>0)的准线与x轴交于点F1,焦点为F2;椭圆C2以F1、F2为焦点,离心率e=1/2.(I)当m=1时:①求椭圆C2的标准方程;②若直线l与抛物线交于A、B两点,且线段AB恰好被点P(3,2)平分,设直 java这个程序为什么会等于0class B {private int num = 10;public void draw(){System.out.println("B.draw(),num"+num);}public B(){System.out.println("B constructor");draw();}}class A extends B{/*** @param args*/private int num = 1;public void dr 270°的角属于第几象限 双曲线c1:x2/a2+y2/b2=1(a>b>0)的左准线为l,左焦点和右焦点分别为F1、F2,抛物线C2的准线l,焦点为F2,C1与C2l的一个交点为M,则lF1F2l/lMF1l-lMF1l/lMF2l等于? java语句 Integer.parseInt(10)+1等于多少?String.valueOf(Integer.parseInt(10) + 1); 角-125度属于第几象限 java里面怎么用RANDOM随机取0.1.2这三个数?不是这样的吗?Random r= new Random(2);有错吗? 求1+2!+3!+...+20!的和.要java算法.+3!+...+20!等于多少. 子函数中得出的两个变量如何被主函数调用(C语言)假设子函数中通过公式得到两个变量值x,y,主函数中需要用到这两个值,该用什么方法调用? java如何让random出来的double数字在[0.3,1)之间?我知道nextDouble()出来的范围是0.0到1.0之间的数,那怎么让random出来的数字在0.3到1.0之间啊?如果直接加上0.3就会可能超过1.0,求解啊! 英语翻译只要翻成中文就行 把装满水的量筒浸入水中,口朝下,用手抓住筒底竖直向上提,在筒口离开水面前,量筒露出水面的部分是 JAVA如何在生成随机数中不包含某个数字? 例如:Random random=new Random();array[i]=random.nextInt(50);生成随机数中要求不包含16.25.33等多个数字?谢谢! Everybody歌词+翻译后街的! 把装满水的量筒,口朝下禁摩在水中,抓住同底向上提,在筒口里开水面前量筒露出水面的部分()a.充满水 b.有水,但不满 c.没有水 d.依次出现上述现象 用Java.util.Random方法,假如我想要随机-100~+100间的随机数,代码怎么写呀 英语翻译Everybody needs somebody,somebody whom is called "Friend"."A friend in need is a friend indeed." If only that kind of friends can be called "Friends",then there are only few up-to-standards for me.About friendship,we have millions of quot 把装满水的量筒浸入水中,口朝下,用手抓住筒底竖直向上提,在筒口离开水面前,量筒露出水面的部分是在筒口在筒口离开水面前,量筒露出水面的部分是 “ 装满水的 ”为什么 赞美海南岛美景的句子有哪些 Everybody's friend is nobody's 把装满水的量筒口朝下浸入水中,然后抓住桶底往上提,在离开水面前,量桶露出的部分()A 是空的 B充满水 C 有水,但不满 D 没水 急求一些描写海南三亚蜈支洲岛美景的句子和段落,好的一定有加分~~ 英语翻译Unable to continue becasure of a hardware or system error.sorrr but this error is unrecoverable.quit 浸在水中的装满水的量筒口朝下,抓住桶低朝上提,在桶口离开水面前,量筒露出水面的部分是?(空的?有水装不满?还是充满水的?形成此现象的原因是? 描写海南美景的作文 在直角坐标系中,分别作出下列各角,并指出它们是第几象限的角(1)120°(2) -240°(3) 45°(4) -315° 已知向量a=(-2,-1)b=(x,1).属于R 一:当x=3时,求a*b与a+b的绝对值 名词所有格用法?讲的简单一些 为什么men's是后面加's 而时间 像hours'就加s'了呢?hour这个单词没有s发音结尾啊?the dog's of this house dog不是有生命的吗 描写海南岛的句子 直角是第几象限角? 名词所有格的用法 如果b<根号(a-3)+根号(3-a)+1/3,化简(b-2)的绝对值+(3b-1)绝对值 不属于任何一象限的角不一定是直角,还可能是什么角
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘