调试软件和硬件

6月份是忙碌的一个月。做了几个很头疼的事情。

第一件是:按照自己的计划阅读完《design patterns in C#》,现在还在累死累活的看这本书,虽然已经接近尾声,但是阅读速度太慢浪费了大量的时间,阅读笔记看看也不是那么的好。接下来的阅读书目,可能要转移到硬件上面来了。嵌入式,可能就是一个重要的选择,或者其他方面的书籍。总结一下自己这半年看的书:《clean code》《agile software development》《design patterns in C#》感觉还是很有收获的。当继续努力。

第二件是:完成了WPF小型通讯录的程序。编写通讯录的打算,是很久以前的事情了。直到六月份才开始编写,之前也做了大量的工作,例如Speech to text, text to Speech的程序已经看了和改写了好几遍了,也翻看了其他的程序,就把这么多程序里面认为好的地方都给弄到一起了,大杂烩。终于搞定这个程序,但是还是出现了一下问题,太累了,不忍心再看这个程序了。

第三件是:用PADS layout 完成了一个电源模块PCB板子的绘制,发现硬件的板子绘制才是我的重头戏,画完板子,交付生产,然后开始调试板子,跟别人合作整出这个东西来。结果,板子中使用了单片机,而我对单片机很是不懂,只好重新阅读这方面的书籍。我都无语了,这个硬件和我自己爱好的C#语言差别很大的,但是我要同时调试着这两个程序,一个是硬件的,一个是软件的。

软件和硬件的调试,区别还是不小的。调试软件,我习惯了按F5 run debug,另外加F9,F10,F11去发现问题在哪里,要不就是加个MessageBox.Show(e.message);或者去看看我的设计框架,总会找点可能的解决方案出来,虽然不一定可以解决问题的。调试硬件,感觉就是换元件,然后吹吹热板子,换个元件值,到头来还是要看自己设计的原理图中的框架。所谓调试,就是调试框架和框架里面的空空。就像今天看设计模式里面的Template Method总结的一句话:抽象的价值在于框架,底层的意义在于填空。底层元器件就是要看看填空填的对不对,原理图数值的计算就是要看看框架合不合理。软件调试和硬件调试也有想通之处啊。

你可能感兴趣的:(code,调试,clean)