工作两年多,从刚开始什么都不懂,到慢慢发现知识的重要,特别是知识积累的重要,所以从去年开始,才懂得积累知识,并且开始记录,记录遇到的问题、如何解决以及一些瞬间的想法,还将每个工作经历都贴在我的工作桌上。程序员是善于思考的一个职业,做过这行的都知道,写一个程序的过程都要经过构思、设计、写代码、测试到最后运行这几个步骤。慢慢地,这个习惯也被搬到了生活中,现在我才觉得,我平时做事这么的冷静善思考原来是工作影响的原因。

象我一样,大多程序员都有一个毛病,或者说一个习惯,自己编写过的代码都不愿意测试,他们凭着自己的习惯,理论上完成了代码的编写就认为自己的工作结束了,剩下的工作应该交给测试人员了。但实际上来讲,如果代码存在BUG,造成软件在运行期出错,那么测试人员和客户肯定会发现这些BUG的,再等到测试人员或者客户把BUG反馈回来的时候代价就已经很大了,不仅仅是时间的浪费,更重要的还有1、影响了客户对产品以及公司的信任度,2、影响了程序员自己的声誉,3、影响了代码的可读性以及质量,4、增加 了DEBUG的难度,5、对程序员的心理造成一定的影响。

拿我自己来说,反复的DEBUG,对自己的自信心确实造成不小的影响,浪费了大把的时间影响了其他项目的开发不说,即使写了大量的代码,公司同事还有客户对自己的信任度也大大降低。所以程序员应该尽量减少自己程序的BUG,那如何控制BUG呢?

首先,程序员应该克服自己身上的一些缺点,这是很重要的一点,因为每个程序员都有自己的编程习惯,而且每个程序员对自己刚刚完成的程序都会信心百倍的说“绝对没问题”,实际上这种想法很正常,因为每段代码都是通过程序员认真谨慎的思考和设计之后才写出来的,在设计时已经排除了很多问题,所以程序员不会将自己认为不正确的判断写到程序里,但这仅仅是理论上的想法,但人哪有不反错的时候。其实程序员在读其他人写的程序的时候,就会很谨慎,仔细找到程序上的错误,但对自己的代码就很难这样做,如果把这种谨慎应用到自己的代码上来,BUG会减少到最少。软件工程所说的各阶段工作想必大家都清楚,前期的设计以及需求分析才是一个软件工程的重点,这里也是花费时间最多的地方,当对要写的程序有了一个清晰的轮廓之后再动手编写代码。

第二,刚刚提到的前期设计,是指在编写代码之前所作的工作,这要求程序员对系统的整个结构以及逻辑有很清楚的理解,这也要求对系统的需求做到位。我没有写过文档,所以这里不谈文档了。思路清晰很重要,但每个人并不能将系统的整个设计思路都记在脑袋里,那最好就写下来,特别是一些复杂的逻辑结构关系还有复杂的算法。

第三,代码的编写,要尽量减少拼写的错误,严禁使用关键字作为变量来使用,要尽量做到代码模块化,并且保证其正确性和可重复使用性。因为是模块组成的,写过之后可以将每个模块部分单独测试,因为代码量少了质量自然提高了。对顺序执行要求很高的函数尽量不采用调用子函数的方法,让程序按顺序走吧。

第四:代码检查以及系统功能测试,这是保证代码质量的最后一步了,我们可以写一些代码模块或者小工具来进行测试工作,跟踪变量值的变化,使用一些小技巧在这个阶段都是必要的,这里和测试人员的测试不同之处在于:仍然让程序员的注意力放在其自己的代码范围内,减小了排错的难度。

按照如上步骤来走的话,那么我想你的系统应该足够健壮了。

把对待别人代码的态度放到自己的代码上来,也就是反复的Review自己的代码检查逻辑错误也是相当好的办法。别把自己辛苦写的代码看的很值钱,在团队中尽量与别人分享、Review代码这是实际工作的经验。

作为一个优秀的程序员要具备这些习惯,看自己的代码就象对待自己的一样,爱惜、呵护是必须的,同时也要象园丁一样及时修剪多于的树枝来让自己的代码走正确的道路。

转载于:https://www.cnblogs.com/starm/archive/2008/12/16/1355800.html

程序员如何让自己的程序少出BUG- [工作]相关推荐

  1. 从程序员到上市公司合伙人,怎么少踩坑?

    ‍‍ ‍‍ 科技发展日新月异,对于程序员来说,不断地自我修炼必须提上日程.某种程度上,阅读是一条通往成功的捷径. 当你被技术难题卡住时,去读书吧,去书里寻找答案 当你感到人生困顿迷茫时,去读书吧,去书 ...

  2. 【伯乐在线】程序员常有,优秀程序员不常有

    本文由 伯乐在线 - 青劲草 翻译自 www.quora.com.未经许可,禁止转载! 欢迎加入:翻译小组,通过 翻译频道 贡献一份力量. [伯乐在线导读]:本文源自 Quora 问答贴<为何没 ...

  3. 这个程序员如何以一己之力阻止了 Bug 代码的提交并改变整个 DevOps 世界?

    [CSDN 编者按]Jenkins 是基于 Java 开发的一种持续集成工具,能够帮助项目实现高度的工程化,而它的前身则是 Hudson.2004年,Sun 公司的 Java 程序员川口耕介为了让同事 ...

  4. 一流程序员靠数学,二流程序员靠算法,低端看高端就是黑魔法

    简介 每个行业都会分等级,程序员也不例外!好一点的叫工程师,普通一点的叫程序员,差一点的叫码农,更差的还会叫码畜,码奴. 一流程序员靠数学, 二流靠算法, 三流靠逻辑, 四流靠SDK, 五流靠Goog ...

  5. 程序员成熟的标志《程序员成长路线图:从入门到优秀》

    对好书进行整理,把好内容共享. 我见证过许多的程序员的成长,他们很多人在进入成熟期之后,技术上相对较高,一般项目开发起来比较自信,没有什么太大的困难,有的职位上也有所提升,成了项目经理.设计师,有的甚 ...

  6. 程序员能自己独立进行程序开发,为何要去公司上班呢?真相出来了!

    程序员能自己独立进行程序开发,为何要去公司上班呢?我们一起来听听广大程序员网友的心声! 网友一: 我以前就这么干过,干不下去了,因为个人写不了大型程序,只能写小程序,小程序也很难接单,接了单也很容易被 ...

  7. 程序员被沦陷!国内程序员真的饱和了?

    前几天有个毕业几年的微友联系我,做了多年销售想转行做开发,说自己人比较老实,不适合做销售,销售每天跟人勾心斗角太累了.问我,程序员这么多年,怎么还是那么火.有没有程序员过剩这种情况. 十几年前念高中的 ...

  8. 写给年轻程序员:37岁的我,正在找工作!

    前几天突然接到 dk 的电话,要和我聊聊天.他说他们部门调整,虽然最后他留了下来,但还是非常焦虑. 图片来自 Pexels 人无远虑必有近忧,他这次被刺激到了,想提高一下自己,以免下次再有类似的心惊肉 ...

  9. 程序员 薪水_如何减少程序员的薪水

    程序员 薪水 要创建软件,您需要程序员. 不幸. 它们昂贵,懒惰,几乎无法控制. 他们创建的软件行不通,但您仍然必须每个月付费. 当然,少付总是最好的. 但是,有时他们可能会发现自己的薪水不足而辞职. ...

最新文章

  1. AMD–7nm “Rome”芯片SOC体系结构,支持64核
  2. Firefox 65.0.2 发布,Firefox 66 预计3月19日推出
  3. mysql存储过程是什么
  4. c++11-type_traits类型萃取
  5. php 5.6连接sqlserver,wamp php5.6连接sqlserver
  6. Docker 查看日志记录
  7. python的tab自动补全
  8. 游戏服务器停机维护,游戏是如何做到服务器不停机维护的?
  9. 从github安装python项目
  10. 软件测试接口测试测试用例模板
  11. oracle数据库中的系统自带表情_教你如何让数据库支持emoji表情符存储
  12. “她经济”时代,兜售少女心的乙女游戏将成新风口?
  13. 跟我一起来申请邓白氏编码
  14. 算法自学__珂朵莉树
  15. MPEG-2 PS流
  16. 如何给自己打造好的“口碑”?
  17. 开源者的自我修养|为 ShardingSphere 贡献了千万行代码的程序员,后来当了 CEO...
  18. 2020年腾讯实习生算法笔试题目(感触良多)
  19. 【网络流】【二分图最大匹配】Buaacoding1043 难题·Beihang Couple Pairing Comunity 2017
  20. 惠普笔记本win10系统蓝牙功能突然失效的解决办法

热门文章

  1. ATT、IBM等公司结成新的物联网网络安全联盟
  2. 用secureCRT操作ubuntu终端
  3. 如何做一个听话的 “输入框”
  4. TypeReference -- 让Jackson Json在List/Map中识别自己的Object
  5. Zookeeper单机伪集群
  6. elasticsearch实现按天翻滚索引
  7. A*寻路算法的探寻与改良(三)
  8. jqurey操作select 语法解释
  9. 网站静态文件缓存的处理
  10. Android Tab 选项卡的简单实现