程序的模块化的一些见解1

      在很多时候,程序在没有理清思路的时候,我总是想到那里就写到那里,这里需要一个功能,就在这里添加一个功能,那里需要一个功能,我就在那里添加一个功能。到最后,程序修改起来,可能很麻烦了,因此,模块化很重要。
      比如说,一个功能显示:LED显示,之前已经写好了LED显示对应的是档位显示。现在需要增加一个功能,自检功能,即生产时候自检灯的好坏。这时,这个自检功能是添加到哪里呢?先前我会直接在显示LED的程序里写这里自检模式,结果即使不影响之前的显示效果,显示LED的程序看起来也多了很多东西,最麻烦的是下次更改的时候,看起头很多。因此,我觉得最好的方法是,将自检模式独立写一个模块,而且,这个模块几乎不用去动之前驱动LED显示的程序。至此,增加自检的模块几乎完美的添加进入了,而且以后要更改,也相对容易。
      再举一个例子,还是拿LED驱动,之所以拿LED,觉得这个大家都比较熟悉,尽量不要让大家都迷糊了。这里要例句的LED驱动是扫描式的驱动,即COM扫描,总所周知,LED扫描,要达到让肉眼感觉不闪烁的话,频率一般不低于50HZ(这里的频率指的是高低电平一样时间)。 好,第一步写程序时候,都是先把LED点亮了,并且每个LED都点亮。点亮很容易,接下来是要将功能组合起来,即什么时候显示那个灯,灭那个灯。这时要把这些功能写进入,需要增加程序,如基本操作的程序如按键处理,传感器处理,之后根据这些寄存器R1...RN来更改LED显示。此时,通过R1来更改显示,需要写到那里呢。同样,我先前都是直接增加到之前已经写好的LED驱动中去,结果,程序越写越多,修改起来,很大压力。这里,模块化思维重要性有突出来了。具体是,将通过R1...RN的判断,独立写成一个模块,形成最直接的位标志(一个LED对应一个位标志),再由位标志去控制LED。至此,LED驱动模块还是原来的LED程序,多了一个R1...RN的判断模块,重要的是以后更改方便。

    也许我说的还是不够清晰,不够完整,没关系,后续慢慢补上。


点点滴滴的努力着!!!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值