精华内容
下载资源
问答
  • 程序员如何减少代码BUG

    千次阅读 2016-09-23 14:33:47
    为什么要减少BUG

    01.BUG的起源

    BUG常常困扰着程序员,Bug一词来源于英语,原意为“臭虫”或“虫子”。我们将发现Bug并加以纠正的过程叫做“Debug”,意为“捉虫子”或“杀虫子”。在中文里面,我们常常将BUG称为程序缺陷。从电脑诞生之日起,就有了电脑BUG,根据维基百科描述,BUG一词源于1947年,当时身为美国海军上尉的格蕾丝·穆雷·霍波退役后,加入了哈佛大学的计算机实验室,继续研究马克II型和马克III型计算机的工作。操作员在追踪马克II型的错误时发现是因为一只飞蛾在继电器的触电上导致的,遂有bug术语。这个飞蛾被仔细移除,并被贴在日志本上。这个日志本现存于史密森尼国立美国历史博物馆,飞蛾还完整贴在上面。



    02.作为程序员为什么要减少BUG量

    BUG会给我们的产品带来危害

    BUG如果在开发和测试阶段没有被发现,将会随着产品发布,在生产环节被触发,其后果将视情况而定,在这里举一个比较极端的例子。1980年,北美防空联合司令部曾报告称美国遭受导弹袭击。后来证实,这是反馈系统的电路故障问题,但反馈系统软件没有考虑故障问题引发的误报。无独有偶,1983年,苏联卫星报告有美国导弹入侵,但主管官员的直觉告诉他这是误报。后来事实证明的确是误报。如果,这两次的误报被当时的掌权部门信以为真,一场全球性的世界大战不可避免。


    能提高程序员的开发效率

    有些程序员认为,测试BUG是测试人员做的事情,程序员只要负责写代码就可以了。其实,这种想法是经不起推敲的。程序员不仅有编写完成需求的代码的义务,也要对自己的代码质量负责。在常见的开发流程中 

    程序员开发 ->提交代码 ->测试人员测试(如果存在BUG) ->反馈BUG给程序员 ->程序员修复BUG ->测试人员测试 (未发现BUG)->提交测试结果,等待版本发布

    如果BUG量较大,将直接导致上述的这个过程时间延长,如果在修复的过程中产生其他BUG,将让这个过程重复,直到测试人员没有测试出来BUG为止。所以,减少开发的BUG量,将显著的减少整个发布的时间。



    修复BUG的过程中是何种感受

    一般作为程序员在开发中难免会出现BUG,在工作过程中就难免有修复BUG这个环节,可能是修复你自己编写的BUG,也可能是修复同事的BUG,下面用两张图来形象的描述这两种状况。
    1)程序员在修复自己编写的代码BUG时

    2)程序员在修复别人编写的代码BUG时

    成为高级程序员的必经之路

    很多公司将BUG量作为评估一个程序员晋升的重要参考指标,因为,BUG量的多少能直接反映你开发的代码的质量,也直接影响版本发布的时间周期。所以,编写高质量的代码对程序员在职业道路上的晋升起到不可忽视的作用。反观身边的同行会发现这样一个结论,越是程序大牛,其开发的代码的BUG量越少。

    03.怎么做才能减少开发过程中的BUG量

    清晰理解需求的真实目的

    经验尚浅的程序员经常在拿到需求的时候,较少去思考,直接按照需求上描述的样子去开发。而相对有经验的程序员在拿到需求的时候会尝试理解用户的真正需要,在有必要的情况下还会去找设计人员沟通,最终在开发、设计、用户三者之间达成一致的理解。

    理清需求的各个细节

    有经验的程序员在拿到需求后,不会马上就动手去做,他会先如第一点所说,搞清楚用户的真实目的是什么。第二步要做的就是梳理实现这个目的的需求中的各个细节是否合理,对于描述模糊或存在歧义的地方会和设计人员(或者客户)进行沟通,在开发之前将这些细节明确下来。

    开发之前的构思和规划很重要

    有经验的程序员在动手开发之前,会构思和规划整体的实现方式和步骤,头脑中有了清晰的架构后再逐步实现它。这样能在开发前做到心中有数,在开发过程中做到有条不紊。

    开发过程中做到专注

    在这个信息爆炸的时代,我们时刻都会被各种信息打扰:QQ、微信、短信、电话、同事的聊天等等等等,假如我们不断地被各种事情打断,等我们再回到原来的事情时,发现很多地方还要重新思考,这样就浪费了大量的重复思考时间。特别是在开发较为复杂的需求时,我们如果能做到专注,我们的思路和工作就能很连贯的进行下去,自然我们就能在较短的时间里面完成。

    开发完成后不要忘记复查你的代码不要忘记复查你的代码

    代码复查是为了在提交之前能发现存在的BUG,代码复查一般从代码风格、重大缺陷、设计逻辑和设计思路几个方面展开。复查的方式有自查(自己检查自己的写的代码),互查(同事、经验较丰富的程序员或Team Leader检查你写的代码)

    展开全文
  • bug代码

    2013-01-03 19:40:02
    常见的错误代码解释如下: 1. /-20 KerrCorrupt,文件已损坏 2. /-26 KerrDiskFull,磁盘已满 3. /400 :请求无效 4. /403 :禁止访问 5. /404:无法找到文件 6. /500:内部服务器错误。(一般这个错误是CMWAP...
    错误代码分为两类:系统错误(数值小于0)和HTTP返回错误代码(数值大于0)。
    常见的错误代码解释如下:
    1. /-20 KerrCorrupt,文件已损坏
    2. /-26 KerrDiskFull,磁盘已满
    3. /400 :请求无效
    4. /403 :禁止访问
    5. /404:无法找到文件
    6. /500:内部服务器错误。(一般这个错误是CMWAP网关返回的,是网关处理相关下载请求时出错。若目标服务器不支持断点续传而下载文件超过限制,CMWAP网关就会返回这个错误。又是目标服务器处理错误也会报这个错误,如“手机加油站”本身有BUG,在处理时发生错误。)
    7. /502:网关错误。(一般这个错误是CMWAP网关返回的。原因有可能是目标服务器无法连接,或者在交换数据过程中非正常中断了连接。)
    8. /503:服务器不可用。(这个错误代码为IIS6.0所专用。)
    9. /504:网关超时
    10. /505:HTTP版本不受支持。

    展开全文
  • 常见代码bug及解决方法

    千次阅读 2019-03-04 17:45:40
    原因3:头文件声明和定义参数稍微有不同,例如: 头文件中声明void Hanlder(const chat* bug)  在定义是写作 void Hanlder(char * buf)  这样就会发生conflictiong types for错误 以上是我自己遇到的错误,...

    1、no matching function for call to   没有匹配的构造函数 ,出现这样的问题一般都是,调用函数类型不匹配导致的,修改下即可。

    2、candidate is:    你使用函数的时候,和原型不匹配,也就是函数参数不够,或者函数类型的问题。

    3、in expansion of macro    这种表示宏错误

    4、statement cannot resolve address of overloaded function     调用函数错误

    5、

    test.cpp:169:4: error: expected ‘;’ at end of input
    test.cpp:169:4: error: expected ‘}’ at end of input
    test.cpp:169:4: error: expected ‘}’ at end of input

    类似于这样的错误是因为  多了一个括号

    6、

    conflicting declaration

    原因1:没有先做函数声明,而函数位于mian()之后,在main函数前声明了函数原型后。
    原因2:头文件被循环引用,在应用时考虑包含顺序
    原因3:头文件声明和定义参数稍微有不同,例如:  头文件中声明void Hanlder(const chat* bug)
                             在定义是写作 void Hanlder(char * buf)
                            这样就会发生conflictiong types for错误

    以上是我自己遇到的错误,整理而来,希望对大家有所帮助

    展开全文
  • 1.out of memory  THCudaCheck FAIL file=/tmp/luarocks_cutorch-scm-1-3726/cutorch/lib/THC/generic/THCStorage.cu line=66 error=2 : out of memory In 20 module of nn.Sequential: ...

    1.out of memory 

    THCudaCheck FAIL file=/tmp/luarocks_cutorch-scm-1-3726/cutorch/lib/THC/generic/THCStorage.cu line=66 error=2 : out of memory


    In 20 module of nn.Sequential:

    torch/install/share/lua/5.1/cudnn/Pointwise.lua:63: cuda runtime error (2) : out of memory at /tmp/luarocks_cutorch-scm-1-3726/cutorch/lib/THC/generic/THCStorage.cu:66

    stack traceback:

            [C]: in function 'resizeAs'



    解决:

    linux 使用nvidia-smi -l 查看当前内存使用情况


    (1)有可能机器本身的内存不够,譬如只有2G,实际vgg网络一般都需要超过2G的内存,所以可以使用cpu的方式,或者查看使用这个方式http://liipetti.net/erratic/2016/03/21/using-nin-imagenet-conv-in-neural-style/

    (2)机器本身内存6G,基本够用,程序运行过程中使用内存过大,有可能是使用训练的图片比较大,size更改小点

    (3)batchSize设置比较大,有些机器内存不够。


    展开全文
  • 不管是项目团队出现了bug,还是前辈留下的代码出现bug,这个锅反正程序员是背定了。...不少的程序员被代码虐杀的痛苦万分。但从积极的方面来看,代码bug也是绝佳的学习机会。...二分法定位是比较常用bug
  • 说说bug,及代码优化

    2019-06-03 11:37:49
    说起bug,这个伴随...首先对bug的理解: 不能达到预期效果的程序代码,统统可以称之为bug!这里说的不能达到预期效果比如说: 执行报错,结果不符合,无结果等等 对bug,我分为以下几类: 1: 书写bug 2: ...
  • 后来想,如果代码规范也就会减少代码bug,自己使用的是idea 2017.3.5 ,就想看看idea是否有bug检测的插件。找到一款查找bug的工具,记录如下: 一、安装 路径:File-->Settings-->Plugins-->Browse ...
  • 常用 BUG 解决方法

    千次阅读 2018-06-10 10:44:11
    下面就来说一说,在遇到代码BUG,我们常用的一些方法! 二分定位法   通常来说,无论BUG因此多深,通过二分定位法基本可以确定问题所在!那么什么是二分定位法?就是在程序关键点(可能的出错点)进行分割,看...
  • 前端中常见代码错误与Bug 若出现下行的块或文字被挤到后边去(尤其是插入列表时ul、ol、dl),则应考虑其上元素是否 错误或过多的设置了margin和padding。 若写了代码却没有效果,这时有两种可能的问题(均...
  • findbugs常见Bug以及处理办法 1、BUG级别总结 2、处理方法 无需处理 建议处理 必须处理 常见BUG 安全代码代码优化
  • 不过在编写代码时,bug永远是困扰每一位从业者的头号难题。在今天的文章中,我们将分享五贡最佳实践,希望帮助大家更为轻松地减少Java开发中的bug数量。 原则一:不要依赖初始化 在Java中,开发者常常依赖构造函数...
  • 不少人对程序猿有个很深的误解, 以为他们就是精准的代码机器, ...因为代码中的bug实在是太多了…… ☄ Bug ≠ 漏洞 Bug是电脑系统或程序在开发过程中存在的技术缺陷或者逻辑混乱,危害严重的bu...
  • 常用BUG管理工具系统

    万次阅读 多人点赞 2018-08-21 16:27:16
    常用BUG管理系统 1.EasyBUG 优点: 1)基于WEB的在线的,不用配置; 2)界面简单,操作容易上手,基本上只要是会上网的人一看就会用 3)拥有截图功能,以图片的形式直接存在,而不是以附件形式; 4)BUG解决流程...
  • 如何在复杂代码中寻找BUG

    千次阅读 2014-03-14 15:49:45
    Mentor说先从找code base中bug开始。但是我感觉我们的codebase好复杂,这几天突然没什么进展。uml之类的也画了不少。想问问前辈们有什么建议? 解答: 1:来自姚冬,哥写的不是代码,是梦想 我曾经做了两年...
  • Checkstyle是一款可以帮助开发人员检查代码隐藏bug的分析工具; 它可以进行代码扫描, 产生bug检测报告, 以便开发人员及时去修复; 使用它可以让我们的工程代码质量更高; 在项目中配置使用FindBugs 在Gradle项目中, ...
  • 为提高研发代码质量,我们在处理研发 BUG 的时候不能只满足于修复,还要主动分析 BUG 原因,以便在未来的开发中避免重复错误 规则 【强制】解决 QA 提的 bug 时,必须填写BUG 原因,选项说明如下表所示 分类 ...
  • sonar常见bug类型及解决方法

    万次阅读 2018-11-06 17:58:22
    sonar常见bug类型及解决方法(持续更新) Cast one of the operands of this multiplication operation to a “long” bug代码: Thread.sleep(5 * 1000); 原因: 用int型整数计算可能会溢出 修改后代码: ...
  • bug常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。 注:该报错语句是放在命名空间下,在此之前运行一直是正常的。 C币不多,请别见怪。
  • 测试常见bug

    千次阅读 2018-11-01 16:08:13
    攻城狮们火速定位,问题原因很快被找到了,原来是购买商品接口的bug。该接口需要3个参数:商品id、商品单价、购买数量,而服务器根据接口传过来的商品单价(0.01元)生成了订单。服务器本应根据数据库中的商品单价...
  • bug无处不在,但是我们总希望少一点bug。最近发现了一款好用的寻找bug的插件,特此记下。一、安装路径:File-->Settings-->Plugins-->Browse repositories....-->输入FindBugs-IDEA--&...
  • js常见bug总结

    千次阅读 2019-06-14 08:56:13
    这个错误最常见的例子出现在 if 语句使用: 此例中,程序员意外地使用了单个等号,而不是双等号。“left-hand side in assignment” 提及了等号左手边的部分,因此你可以看到以上例子,左手边包含不能赋值的东西...
  • aandroid 开发常见bug

    2015-12-30 10:54:01
    Android源生代码bug导致连续发通知应用卡死 http://blog.csdn.net/rev_fycd/article/details/8557158
  • Polyspace应用:Bug Finder检测代码漏洞

    千次阅读 2020-02-21 22:05:13
    Bug Finder采用语义分析技术检测软件Bug,因此只需要提供源代码,不需要测试用例,也不需要运行代码就能检测出软件Bug。在软件开发过程的早期即可发现漏洞并修复。 另外,Bug Finder也可以检查软件是否符合...
  • 代码时如何减少 Bug 的产生?

    千次阅读 2019-01-22 10:22:33
    虽然今天仅仅是 1 月份的第四周,但其实今年的工作已经开始收尾了。从下周一开始,你就回发现周围的同事逐渐变少。对于大多数漂泊在一线城市的程序员来...代码提测时,最害怕的就是测试退回,给我反馈各种问题。 这...
  • 牢记以下五项基本原则,能够帮助大家尽可能减少代码中的bug。  Java编程语言的人气自然无需质疑,从Web应用到Android应用,这款语言已经被广泛用于开发各类应用及代码中的复杂功能。  不过在编写代码时,bug...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 236,147
精华内容 94,458
关键字:

代码常见bug