程序为什么要模块化,这是我这次进公司时,帮同事调程序时发自内心的一个感触,看到同事代码时,给我感觉第一:
函数内代码太长,居然达400行。
第二:
代码太长导致变量命名不规范
第三
功能复杂
第四
可读性不好,看了好久才把整个函数的所有功能弄懂。
其他就不写了,总之。。。。
程序模块化,这样使程序更加清晰便于程序改动”。
除此之外,程序模块化有着更深的意义:
(1)模块化,可以将不同功能的模块设计成小耦合度模块,使程序执行出错率降低,提高程序可靠性;
(2)模块化,可以大为提高源代码的复用率,降低代码占有空间,提高程序可靠性;
(3)模块化,可以提高了程序的可维修性,延长了程序生命周期。
二、对于软硬结合的系统来说,软件性能和可靠性的提高,无疑也提升了系统的性能和可靠性。虽然,对于特定硬件来说,执行功能是一样的。但从系统角度看,仍然有其积极意义。
三、“程序在执行时实质就是各种门电路的开关动作......容易发生干扰电流导致干扰......导致门电路误动作(竞争冒险)......门电路的延迟效应会加剧其发生概率!”——如果自己设计的电路,当然有可能发生此类问题。但是就成熟的CPU来说,生产厂家在研发出正式产品之前,早已解决了上面所述的内部干扰和逻辑错误问题。所以在硬件应用层面上,绝大多数问题是出在外部应用电路的错误和电磁兼容上;在软件应用层面上,绝大多数问题是出软件设计不合理和软件设计可靠性上。
四、“采用C语言进行模块化编程是否就是比用汇编更好呢?”——其实对于程序模块化,汇编语言和C语言都可以实现得很好。使用汇编语言,得到的代码比C语言更精炼、更小巧些;而使用C语言,使人更容易理解、更方便修改。但C语言与汇编语言比较而言离机器语言远了些(C语言在编译后得到的仍然是汇编程序);而在写大型程序时,C语言明显比汇编语言更具有效率和排故(debug)优势。