程序员为什么要一直改bug ?不能一次性写好吗?

来源:头条 ·2017年11月30日 06:54

作为一个外行,有点好奇呢

10年码农,我来回答这个问题好像比较合适。

编程序写代码就像造一座大楼,如果即便经过严格的设计论证,装配高质量的部件,最后还有系统性地验收,让你去造这么一座大楼,你能保证不管是窗户安没安好,还是地基挖浅了挖深了,还是墙皮脱落,都一个问题没有?

回想早年的小程序,执行某一个具体的任务,明确的输入输出,一般是不会有bug的。

但现在的软件开发,早就已经不是一个人在战斗了,大部分的工程,开发规模5人左右居多,另外稍大的软件工程动辄几十人,更有甚者几百人的团队规模并行作业。你试想一下,要保证这么多人的产出都符合设计要求,势必需要合适的开发流程,需要更多的项目管理的技巧和方法。这就对个人以及团队的提出了非常高的要求了。

软件工程的方法论中,要求软件开发者尽可能多地在软件测试阶段发现bug,而不是交付之后。

但是楼主说的能不能让软件开发出来没有bug,我觉得把下面这几个事情做好,还是有可能的。

1、花尽可能多的时间,和客户沟通软件需求,了解每一项需求的用意。

2、确保软件需求不能随意变动,因为很多情况下一个需求的变化,程序会带来很多问题,有可能连底层结构都需要跟着一起变动。频繁的需求变动,加上开发周期和成本的约束,带来的结果就是软件质量的不可控。

3、确保软件测试质量,完成全覆盖测试,设计系统需要的全部用例并保证全部通过。

总结下,软件项目在实际开发过程中风险点还是很多的,通过合理的控制,可以降低和减少bug。但是软件本身是为人的需求而生,只要需求在变化,软件是永远都需要跟着去维护和更新的,所以只要有不可控的因素(需求分析,系统设计,系统详细设计,编码,单元测试,集成测试,系统测试,验收等)任何一个环节任何一个人产生问题,反映到最后的软件产品上就是一个bug。

展开全部

我知道,很多没有写过代码人,会以为如果代码写得好,是不怎么需要修改的。

那你一定参加过语文考试,写过文章吧。一篇只要 800 字的高考作文,当年曾让多少人头疼。

你是怎么写文章的呢?

  1. 写文章之前,我们通常要好好构思一下,以免文章写得没有条理;

  2. 写文章时,运气好的话,你能一气呵成,运气不好,可能就得挤牙膏一样的慢慢挤出文字来;

  3. 文章写完后,你欣赏着自己的“大作”,经常会冷不丁地发现自己几个错别字,或者是语句不太通顺的地方,然后改掉。如果时间充裕、修改方便的话,你甚至都会修改一下行文的结构。


现在问你,把第3步去掉,可以吗?

相信很多人会觉得,没有检查和修改过的文章,很多都没法看吧。

不仅要自己修改,如果文章比较重要的话,我们最好还要交叉修改,让别人协助自己改文章,毕竟,有些错误和不确切的地方,自己是看不出来的。


写程序也是这样。但与写文章不同的是:

  • 程序通常比文章要长得多:一般来说,写一个运行的程序需要花好多天,这相当于写一个章节的时间了;在这么多行代码中,不出现错误是几乎不可能的;

  • 程序的重要性比一般文章高:一般文章写完了就可以了,比较重要的、需要刊登在杂志上的文章,通常需要反复修改,但即使依然有纰漏,也不会有太大的损失;但程序,写完以后是要被反复运行的,那么多用户用它,万一出了错误,用户不高兴不说,还可能造成经济和声誉上的损失。


所以,写程序能不反复改 bug 么?

2008~2017 家电新闻网 Inc. All rights reserved.