当前位置:首页 > > 充电吧
[导读]有时候即使是很优秀的程序员,也会被一个低级错误困扰,可能会几天都解决不了。所以,关键在于,如何找到问题。 遇到问题的时候:1,不要怨天怨地。出了问题,当然有可能是系统的bug,API的问题,但是那些几率往往比

有时候即使是很优秀的程序员,也会被一个低级错误困扰,可能会几天都解决不了。所以,关键在于,如何找到问题。 

遇到问题的时候:

1,不要怨天怨地。出了问题,当然有可能是系统的bug,API的问题,但是那些几率往往比你犯低级错误的几率要低多了,先从自己身上找原因,是不是自己写错了。 


2,要掌握工具。最低限度你要会写Log,最好是Log和调试器结合。好 的工具可以大大的提高效率。以前有人跟我说,Dll不能调试,我发现可以;有人说多线程不能调试,我发现可以;有人说COM不能调试,我发现可以;有人说 IE插件不能调试,我发现可以;有人说OE插件不能调试,我发现也可以。当然,你确实会遇到不能调试的时候,当年我们做东芝芯片的嵌入程序,一个组都没有 一个仿真器和调试器,但是至少可以用Log嘛,无非是麻烦点。

3,分析问题要有逻辑。遇到问题可以先把所有的可能性都列出来,然后一个一个分析,肯定能找到原因的。 


4,要学会隔离问题。问题涉及到的代码越多,越难以理解,问题越难以解决。遇到这样的情况,可以利用Log或者调试器,一行代码一行代码的给它们洗清嫌疑,这样很快你就可以找到出问题的地方。如果代码特别长,程序特别复杂,可以用二分法来做,效率很高。

5,千万不要懒惰,不要事事求别人。一次复杂的调试过程就像一部侦探剧,如果你有非常好的逻辑性,那这部剧的主角就是福尔摩斯,剧情一定非常精彩。我说这个是有巨大风险的,说真的我帮人调东西挺上瘾的,很有意思。但是我还是要告诉大家,一次高难度的调试之后,你的满足感绝对不亚于写了一个伟大的程序。

要想不遇到问题,写代码的时候:

1,要对写出来的代码负责。我很佩服那些写代码写100行都不执行一次的 高手,如果他们最后不被低级错误困扰的话我就更加的佩服了。我写程序几乎是写一行两行就要执行一次,每句话我都要确保执行效果跟我的预期一致。没错这样写的时候 可能慢一些,但是调试的时候很轻松,我可以很简单的确定哪些代码绝对没有问题。所以我写代码整体速度比一般人高。很多人学习新东西的时候喜欢把例子抄一遍,运行一下,改改,再运行。我喜欢一句一句的抄例子,抄一句两句执行一次,这样可以把例子透彻的理解,而且很难会遇到出现了问题找不到原因的时候。 


2,函数体功能块不要过长。我认为我的智商并不高,我很难接受一个程序的一个函数体或者一个功能块超越3屏(当然逻辑真的有那么复杂除外,你会发现越是简单的逻辑越是容易被人写的冗长)。很多人对面向对象耳熟能详,对封装继承看起来驾轻就熟。但是动不动就写出来个函数体超长的程序。这就像写本书从头到尾不点句号一样,会累死读者的。自己看的时候,估计也会被累的喘不过来气。这是我对基础教育的微词所在,他们连教会学生写函数都没教会,虽然表面上他们连面向对象这么高深的东西都教。 


3,缩进要对。这点很重要,虽然大部分语言不是像Python那样用缩进来决定逻辑块的位置,但是人看到缩进的时候,总是会以为这些缩进位置跟逻辑相关。尤其是在有大量的ifelse或者for循环等等的嵌套逻辑的时候,如果缩进错了,可能会直接让人把程序的逻辑读错。所以我拿到别人的代码,第一件事情就是整理缩进。我见过一些比较优秀的页面工程师,他们会在div结束的位置用注释写上这个div的id,这样层级关系就一目了然了。 
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭