bug中文的意思(网络流行语bug是什么意思)
盘点一下软件的bug怎么产生,是故意留下的吗?
笔者是计算机科学与技术专业毕业的,毕业之后从事的是软件维护方面的工作。虽然不是程序开发,但是也总是会接触一些软件方面的问题。
在维护工作当中经常会有人给我反馈一些bug,就是说程序什么什么地方有问题,是不是有漏洞之类的。
有些人就会认为是不是我们的程序员故意留下的bug,不愿意修改或者是故意留下个后门什么的。
我们来看一下实际开发中的情况你大概就会了解bug为什么一直都有,真不是程序员不给力,而是很多原因造成的。
第一步、一个程序的开发首先是要有方案。
每个程序的开发都是先有需求或者是先有想法创意,然后才开始确定要开发一个什么样的软件。
简单来说软件的开发就好像一个命题作文,知道要做什么事情,为了解决什么问题,然后才开始作答。
这个时候项目主管(小一点的公司可能是老板)之类的就开始制作初稿,也就是程序应该是什么样子的。
这个过程当中还要和客户进行沟通,毕竟你的软件是需要卖出去赚到钱养活自己的。
(当然了,创意类的或许没有客户可以沟通,但是还是有部分测试人员的体验需要进行沟通的。)
这里会出现第一类bug,因为人与人之间的思维和经验不是完全一样的,而且客户只是使用的人,不了解程序的内核,什么功能怎么实现他们也不想知道,只要你完成就可以了。
那么就会出现沟通的时候出现一些差异,或许开发商的理解和用户的理解是有一些不同的,那么用户使用的时候自然觉得你的程序是不是有问题,是不是有“bug”,这个词语不知道什么时候也被人用来说程序不符合自己的要求了。
第二步、开始分工
而确立了程序初始的样子,那么就是分工了,写后台代码的写后台代码(可能还会顺带把数据库的表结构处理一下);后台代码的意思就是控制程序的操作内容或者说算法的,比如你点击了查询,那么就是调用查询的语句从后台调用结果传给前台。
写前台的写前台,其实这里简单来说就是展示页面,也就是客户看到的页面的样子,客户看到很多按钮和展示界面,不是直接的数据,比如你点击了查询,那么就是前台接受到查询的语句从后台调用的结果,然后展示在你的面前。
分工还根据不同的项目,不同的公司进行划分,越大的项目需要分的越细,因为一个人的精力是有限的,大量的工作一个人完成是不可能的。
而对应的是公司规模小又不同,可能一个人负责很多内容,毕竟因陋就简,小公司养不起那么多人。
这里就会出现第二类bug,大量人员开发的分块结合在一起,那么即便就是再高明的程序始终会因为不同的程序员的开发理念的思维不同出现一些结合上的漏洞,这是人为暂时无法避免的。
然后就是少量人员开发,甚至一个人开发也是会出现一些问题的,一个人承担了大量的工作,工作当中出现一些小的失误是很正常的,谁也不能保证自己不会犯错,这个其实在大量人员开发的时候还会被放大。
第三步、限定工期完成规定模块
每个软件的开发就好像是建筑一样的是有工期存在的,不可能让你慢慢开发,客户需要在指定的时间使用到产品,是为了解决某件事情,你很长时间不拿出成品软件来,或许那件事情都不要你的软件了。
那么客户和管理层是不会管你们下面的人怎么完成任务的,我给你时间,你完成就好了,而这个时间上客户给公司3个月,那么公司可能只会给下面程序员2个月甚至更短。
因为公司内部也需要对你的软件进行测试,并且如果是多个人开发,总要预留一部分时间来进行整合处理的,这些也是需要时间的。
这也是现在大部分程序员加班的原因,工期短,任务重,这一点在小公司尤其明显,人手本来就少,工期又短,只有压榨下层的劳动力了。
这里就会出现第三类bug,因为工期短,开发周期短,很多程序员的开发都需要依赖一部分原来写过的代码,修改原来的部分代码直接移植过来。
这样的搬运也让很多程序员戏称自己为码农,就好像农民一样做搬运。
而这样的搬运也容易出现一些问题,总有修改不到的地方,其次就是经常加班使得程序员的精神状态不是很好,也会比一般情况容易出现一些小的疏漏。
第四步、交到项目主管手里
程序员的任务完成之后公司也是需要进行测试的,这个时候如果有专业的测试人员可以排除掉一部分bug,毕竟测试也不是白测试的。
而程序的内容也会交给上层进行审核,但是有一部分公司其实上面的管理人员学的是管理,擅长的是经营,却总是喜欢指手画脚。
然后一个减少了很多bug的软件又要进行一些修改,这些修改有的是正面的,有的却增加了bug的出现。
这算是第四类bug吧,不过这样的情况现在来说少了很多,因为一个懂得经营的管理者其实还是会尊重专业的人员的,不会随意插足自己不擅长的领域。
第五步、客户初步使用
经过了长时间的开发,公司将软件交给客户使用。
客户一般都是不懂软件的,不过不影响他们使用。
而这个时候会出现两种类型的情况,第一就是软件和客户心里的想法不一致,于是就是说有bug;
另外就是是符合想法的,但是这段时间他不想用你的软件了,或者是部分人群抵触你的软件(以医院HIS软件为例部分“专家”不喜欢新的东西,就是不接受你的软件),也会说有bug,百般推脱这样不好那样不好。
第六步、正常使用之后
客户开始接受你的软件,正常使用过程当中,这个时候也会出现一些问题。
作为维护人员来说说我遇到过的bug好了。
1.部分数据没有传输,客户认为是bug;
其实可能是网络的问题,也有一些其他的原因,比如服务器过于老旧,使得一些数据的传输在抵达服务器的时候出现问题。
这个可以参考部分ATM机上取钱之后银行卡没有下账之类的情况,网络的突然卡顿是会造成数据传输异常的。
2.系统卡顿,客户觉得是bug;
这里解释一下死锁的概念,简单来说就是只有一锅饭(其实是一张表),大家都要吃这锅饭,但是勺子只有一把,一个人在添饭,那么另外的人只有等待。
而当那个人一直在添饭,但是就是不离开,其他人也吃不到饭,于是就形成了一个死循环,就是死锁。
系统的卡顿一般是数据量大,那个人在锅里找自己喜欢的东西一直找不到,然后就占据了勺子,其他人自然就卡在那里。
3.使用不当,但是就是认为有bug
这一点在很多客户身上都出现过,软件的逻辑思路是帮助客户更好的完成工作,简化工作。
但是有的人不按照你的步骤来使用,就会出现一些问题。
这里懂行的人会问为什么不加限制让他只能按照步骤来进行点击使用,这一点在软件里面其实是比较容易实现的。
但是每个地方的需要是不一样的,如果你限制死了某些功能,那么很多的用户又不愿意使用你的东西了。
使用不当的问题还是需要使用者自己进行协调。
好了,今天就讲到这里,其实软件里面bug很多都是因为不懂或者是没有沟通清楚而产生,没有谁会故意留下漏洞。
全文手打,码字不易,喜欢就帮我分享一下吧 图片与实际内容无关,文/赵启迪爱科技_喜欢本文的关注我,还有更精彩的内容等着你,头条号:“赵启迪爱科技”
各位程序员们:bug是什么意思,你真的懂吗?
bug,英文原意是昆虫、缺陷,瑕疵、细菌,病菌、等的意思。中文常称BUG为“缺陷”。在我们日常生活中,最常听见的大概就是游戏中bug或者程序bug。那么这种bug到底是什么意思呢?在IT中,bug是指计算机程序中的编码错误,或硬件系统中的错误,故障或缺陷。bug会产生意外的结果或导致系统意外运行。简而言之,它是程序或系统获得的任何行为或结果,它并不是为此而设计的。那么在游戏中的bug,也就是是程序bug。通常会让你在游戏中,体验意外的游戏效果,比如在“吃鸡”游戏中,有的朋友可能遇到过被卡在窗户里,出不去也进不来,这就叫做卡bug。
在程序用户之前发现错误bug的过程称为调试(Debug)。在首次编写代码之后开始调试,并且在代码与其他编程单元组合以形成软件产品(例如操作系统或应用程序)的连续阶段中也可以继续进行调试。在产品发布或公开测试期间,仍然容易发现bug。发生这种情况时,用户必须找到bug,避免使用bug代码或及时获取补丁。
bug这个词起源于工程学。该术语在计算方面的应用归功于先驱程序员格蕾丝·赫柏(Grace Murray Hopper)。1944年,赫柏当时是一名年轻的海军预备役军官,前往哈佛大学的马克一号电脑工作。她后来描述了一个事件,据说技术人员从Mark II计算机中的两个电气继电器之间发现一只虫子(实际上是一只飞蛾),在报告日志中,赫柏用胶条贴上飞蛾,并用“bug”来表示“一个在电脑程序里的错误”,于是“Bug”这个说法一直沿用到今天。
在web网络中,web bug表示广告商向网页添加的一个小的,通常是透明的图像(用于跟踪其受欢迎程度)或电子邮件消息(用于跟踪何时被阅读)。
web bug是嵌入在网页或电子邮件中的对象,通常对用户不可见,但允许检查用户是否已查看过该页面或电子邮件。常见用途是用于Web分析的电子邮件跟踪和页面标记。替代名称是web beacon,跟踪bug,标记或页面标记。通过嵌入式图像实现的Web错误的通用名称包括跟踪像素,像素标签,1×1 gif和clear gif。使用JavaScript实现时,它们可能被称为JavaScript标记。bug是使用这些技术,类似于传统的窃听,但不是侵入性。Web错误的区别不应该与更为良性的网络蜘蛛以及更恶毒,邪恶或颠覆性的设备(如计算机蠕虫)相混淆。
本篇就是关于bug是什么意思的具体介绍,具有一定的参考价值,想必大家已经对bug有了更深刻的认识!接下来为大家送福利全套laravel框架、ThinkPHP框架全套教程分享,PHP程序员福利!
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送至邮件举报,一经查实,本站将立刻删除。转载务必注明出处:http://www.hixs.net/article/20240212/1696258346104198.html