问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么编写代码当预防和阻止bug

发布网友 发布时间:2022-04-26 12:30

我来回答

1个回答

热心网友 时间:2022-06-28 07:00

 一、 沟通设计先行
  为避免需求或业务逻辑理解的不完全或偏差, 或者设计上存在较大的缺陷, 导致后期不必要的返工, 耗费宝贵的时间和精力, 编程开发遵循的首要准则是沟通设计先行: 与需求方、业务方和工作伙伴多多沟通交流, 进行设计评审, 能够有效地减少因为需求、业务理解偏差导致的逻辑错误和个人经验不足导致的设计错误。 编程与交流活动的适当调节, 也非常有益于延长程序员的寿命。
  软件工程师应下决心下功夫锻炼和提升自己的表达能力与语言沟通素养。
  二、 尽可能复用
  编写和测试可复用代码, 尽可能复用经过严格测试的可靠公共库。 代码复用、组件复用、框架复用、 接口规范复用、设计模式复用、开发架构复用、 甚至应用模板复用; 复用使得可以从 40% , 甚至 60% 快速起步, 而不是从 0% 开始。工作量的压力小了, 很大程度上会消减因为进度压力导致的代码质量低下的问题。
  创建一个应用工程模板, 将你在实际工作项目中所学习到的、所探索到的和所创造的重要知识、技术和经验聚合到这个系统, 让它成为你工作中的百宝箱。
  三、 做的更多
  之前对参数校验、前置条件、 结果校验是不是做得不充分, 补上吧! 之前对错误和异常考虑是不是不够周全, 补上吧 ! 之前的单元测试、 接口测试是不是基本没怎么做, 补上吧!
  哇! 也许你会说, 工作量增大了好多! 有时间去做这么多工作吗? 这就要应用到第三条法则: 做得更少。
  四、 做得更少
  “做得更少”有三层含义:
  (1) 尽可能自动化, 减少手工操作, 凡是操作不方便的、信息需要记忆的, 就要集成到程序中自动化完成, 避免不必要的脑力消耗; 比如查看日志排查问题, 《使用getopt解析命令行一例》, 就编写了一个脚本, 能够获取所有应用服务器的日志并按照内容关键字进行筛选展示, 而不需要手动逐个登陆应用服务器去查看日志了, 也不需要记忆日志地址, 做到最简化, 还学到了新技能。 脑力应该思考最重要的事情, 尤其是判断和决策相关;
  (2) 要尽可能创造新的技术和方法, 将耗时繁琐的工作变成轻松的工作; 比如编写单元测试是比较“没技术含量”的事情, 能不能编写程序自动化生成可执行的测试用例呢? 这不就转换成“很有技术含量”的事情了。 《Jtester+unitils+testng:DAO单元测试文件模板自动生成》 展示了一个例子。
  (3) Write Less and Do More. 《编程语言与可复用性》展示了 Python 是如何用一行代码来解决一个可复用性很强的小功能的。 日常编程中, 也应多思, 提炼出问题的核心概念及交互, 用更少的代码实现更多的功能。这是软件开发中最具创造力的地方。
  所有繁琐的、没有“技术含量”的活, 都可以转化成非常需要创造力的、富有“技术含量”的挑战。 取决于做事思路的转换。
  五、 创造“编程心流”
  “心流”是做一件事非常流畅自如且非常享受的状态。 当处于“心流”状态时:
  (1) 感觉时间过得很快, 不知不觉;
  (2) 全身心投入, 热情创造;
  (3) 专注、娴熟自如地做事;
  (4) 如果有些事情不懂, 会努力去学会它。
  六、 严格的程序测试
  严格的程序测试可以找出很多常见的编程错误, 应充分信任程序测试的作用, 充分而严格地测试程序。
  通过严格的程序测试, 将使编写代码的信心大增, 能够更大胆地重构, 尝试新技术, 拓展新领域。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么会甲状腺肿大 大学生去晋城富士康能学习到东西吗?我说的是技术上的?请往届的菁干班... 富士康(晋城)科技工业园怎么样,我是应届本科生,想应聘这个,有没有知... 郭庆林人物简介 河北大学学报(自然科学版)版杂志征稿信息 河北大学学报(自然科学版)杂志投稿信息 河北大学学报自然科学版 红警任务包 开机按Delete会出现的菜单,但是现在我开机不按Delete也出现怎么回事?要... 胃镜当时能出结果吗 屏蔽网络跳线的优点及缺点 动能拦截弹的美国动能拦截弹发展情况 联通和移动哪个不容易被屏蔽 封闭母线有什么优缺点? 开核的四核与原本的四核有什么缺点? 高压辐射,屏蔽线的疑问。。。谢谢 求禁止输入框的特殊字符注入 网络安全中,tcp/ip协议的缺陷是哪些 网络安全缺陷 为什么情感中缺点会那么不显眼? 防火墙能够防止以下哪些攻击 为啥会看到恋人的缺点 怎么从Excel中删除指定人员信息? 江苏农村信用社和江苏农村商业银行,那个前景好、待遇好? 江苏银行和农村商业银行系统是一样吗 江苏农村商业银行是什么银行 农商是江苏农村商业银行吗? excel删除特定行? 现在手机的所有功能及介绍 详细介绍一下手机的各种功能 堵截访问法的优缺点 什么是阴极保护屏蔽效应啊, 屏蔽门的缺点及措施 发现java有缺陷,不能写很底层的东西。sun公司老是为我们屏蔽了很多技术细节··· 屏蔽电泵与普通泵的优缺点? 为什么我总觉得那些天秤天蝎射手们即使缺点突出也阻止不了他们事业成功,反而那些白羊的缺点容易成为他们 - 信息提示 青岛竹岔岛有鳕鱼吗 青岛每年出口多少鳕鱼? 带鱼和鳕鱼相比哪个营养价值高? 食品安全求助!!青岛北洋食品鳕鱼片产品1个月不到出现发霉 、黑斑,厂家却说正常鱼皮。不承认 青岛的海洋的简介,资料 小米3照相机模糊,怎样解决这一问题 小米3手机照相模糊,且不能自动聚焦,怎么办? 海洋里的鱼类根据海水的深浅怎么分类?并请例举几个相关类别鱼的典型的名字 小米3后置摄像头照相模糊怎么办? 我们的银行卡号码是什么? 青岛哪能买到真的银雪鱼 高人来200分!鳕鱼开片的刀法.在线等 小米3手机后置摄像头拍照非常模糊怎么回事?