2016 - 2024

感恩一路有你

打断点调试是什么意思 改别人代码的bug,觉得有些吃力,是我太菜吗?

浏览量:2335 时间:2021-03-14 05:16:31 作者:admin

改别人代码的bug,觉得有些吃力,是我太菜吗?

调试程序的能力确实是评估程序员整体技术水平的一个重要方面。然而,由于不同的程序员经常面临不同的开发场景,因此存在许多不同形式的bug。因此,如果调试一些复杂度很高的程序,即使是有经验的程序员也不会感到特别放松。

程序员调试程序的能力通常由三个因素决定:一是自己的经验;二是自己对业务的理解;三是算法设计的能力。

代码量对程序员的调试能力有最直接的影响。一般来说,程序员拥有的代码越多,调试能力就越强。这在调试一些常见的bug时尤其明显。很多初级程序员在程序出现bug时往往需要很长时间进行调试,而老程序员几乎一眼就能发现问题的关键是角色的编程经验。

程序员对业务流程的理解直接影响到调试能力,因为程序设计往往需要与业务流程相适应,特别是对于管理软件。许多复杂的逻辑来自于特定的业务规则,因此不理解业务规则就很难调试程序。事实上,许多程序员在中途接管程序代码时需要对业务有一定的了解,而这个过程往往很耗时。

算法设计能力也会在很大程度上影响程序员的调试能力。虽然目前很多应用级开发任务中关于算法的内容并不多,但算法设计能力对程序员的逻辑思维能力也有很大的影响。因此,具有较强算法设计能力的程序员往往能够更快地理解代码。

为什么很多程序员不用switch,而是大量的if……else if?

答:主要是因为交换机不适合实际复杂的业务系统需求。业务在不断变化和迭代。一旦需求发生变化,条件的复杂性就很高,交换机无法处理。

开关何时合适?它的场景是基于单个变量的值(例如枚举),这比if条件更可读。

从上面的场景来看,它太有限了。让我简单地谈谈它的一些缺点:

1。真正的业务场景非常复杂,条件也不单一。一旦需求发生变化,维护代码就会崩溃。

2. 开关经常忘记写中断。据估计,很多人都忘了粗心地写。如果你看看Google的代码规范,你会发现Google对switch有很多要求。

事实上,有些人仍然使用交换机,这部分是由于历史原因。然而,随着科学技术的发展,原有的设计和设计都相对滞后。

某些编程语言(如python)没有开关语法。当然,一些新的语言golang和kotlin仍然是继承的,但是switch被打包了,被误解的语法被删除了,这使得switch更加灵活。没有包装很难使用。

通过上述缺点,即if语句更加灵活,并且根据业务逻辑条件编写,可维护性高。同时,只要代码质量高,可读性就会更高。

实际业务非常复杂,我不建议您必须使用大量的if,相反,它应该尽快返回以减少嵌套,从而增加可读性并降低维护成本。

打断点调试是什么意思 打断点是什么意思 调试程序时一般需要打断点

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。