热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

想好再写,解决bug从多方面入手

今天下午,因为一个功能,耗费了所有的时间,其实这个功能早已写好了,但是在实际调试的过程中,发现运行结果总是有问题。开始找错,首先我怀疑的就是自己的代码,一遍又一遍地查找,修改,其实基本上代

  今天下午,因为一个功能,耗费了所有的时间,其实这个功能早已写好了,但是在实际调试的过程中,发现运行结果总是有问题。

  开始找错,首先我怀疑的就是自己的代码,一遍又一遍地查找,修改,其实基本上代码已经成形,没什么大的错误,然后就怀疑逻辑是否出错。本地专门写了一段验证自己逻辑的代码,经测试,运行良好,貌似自己的算法逻辑并不存在问题。

  问题到底出在哪里呢?因为下意识始终把错误归结为代码上,解决问题的思路就窄了很多。最后检查了程序要处理的数据,好吗!原来所有的问题都是因为数据而导致了不可预料的结果(数据是测试随便填充的,所以肯定问题多多,自己以为没多少问题),修改了数据之后,再测试程序,没问题了,松了一口气。

  事后,我在想,到底是什么原因导致我浪费了这么多时间,在一个小功能模块上,这样的效率是相当低下的。

  其一,在写代码之前,思考不是很充分。其实我们程序员,在没写一段代码或者完成一个功能之前,首先一定要想好怎么去做,想清楚了再去敲代码,这样的话,思路才不会乱,即使出现问题,有能比较及时的纠正。否则,给个功能,立马上手写代码,最后出问题,思路就会比较混乱。

  其二,如果代码有错,语法上的一般容易解决,但是逻辑上的呢?尽早写类似的代码验证自己的逻辑算法是否正确,如果正确,那么从其他方面找突破口,而不是精力和心思继续聚焦在代码上,因为这个时候可能问题就不是代码了,最可能的原因就是要处理的数据,因为代码就是用来对数据进行处理的。

  总结之,引以为戒。不怕想的时间太长,就怕在写代码的过程中思路混乱,代码反复太多,这样耗的时间会比思考的时间多出很多,还有可能解决不了问题:纠错,逻辑方面的,视野要括,不要仅仅局限于代码。 


推荐阅读
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 如何寻找程序员的兼职机会
    随着远程工作的兴起,越来越多的程序员开始寻找灵活的兼职工作机会。本文将介绍几个适合程序员、设计师、翻译等专业人士的在线平台,帮助他们找到合适的兼职项目。 ... [详细]
  • 汇编语言标识符和表达式(四)(表达式与符号定义语句)
    7、表达式表达式是程序设计课程里的一个重要的基本概念,它可由运算符、操作符、括号、常量和一些符号连在一起的式子。在汇编语言中,表达式分为:数值表达式和地址表达式。(1)进制伪指令R ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • QQ推出新功能:个性化QID身份卡
    您是否还记得曾经风靡一时的即时通讯工具QQ?近日,QQ悄然上线了一项新功能——QID身份卡。这项功能将如何改变用户的社交体验?本文为您详细解读。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • GBase 8a 开发者指南:JDBC 应用详解 5.4.2(5)
    本文档详细介绍了GBase 8a数据库中JDBC应用的高级特性与配置,帮助开发者更好地理解和使用JDBC接口进行数据库操作。 ... [详细]
  • 深入探讨前端代码优化策略
    本文深入讨论了前端开发中代码优化的关键技术,包括JavaScript、HTML和CSS的优化方法,旨在提升网页加载速度和用户体验。 ... [详细]
author-avatar
cuishy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有