简洁性

来源:互联网 发布:java int转double类型 编辑:程序博客网 时间:2024/04/24 13:17

什么是简洁性?

我认为简洁性就是1个模块只做1件事情。把很多功能都放到1个模块中,只会带来麻烦。

不仅仅是设计时,各种功能之间相互的缠绕把设计人员绕进去,也不利于代码的阅读,影响

设计的维护。

笔者以前遇到过1个设计,就是1个GPIO模块。该模块特殊在,芯片有睡眠模式,在睡眠模

式下,时钟要关掉。但GPIO要提供睡眠唤醒功能。

为了让GPIO在睡眠模式下也能产生唤醒请求,只好引入1个低频时钟,在睡眠模式下,唤醒电路

在低频时钟下工作,并产生唤醒请求.

这种设计方案带来的后果就是,人为地引入了异步时钟,而且把时钟电路的设计复杂化了.

按照简洁性的原则,就应该分成2个模块,1个模块就是纯粹的GPIO模块,另一个模块是唤醒模

块,唤醒模块的监测信号是GPIO的输入.2个模块各自有各自的时钟,不相互干扰.也没有异步

设计的问题.

原创粉丝点击