20120611我是C++程序员吗

来源:互联网 发布:北京市节能补贴 淘宝 编辑:程序博客网 时间:2024/09/21 09:03

   我是C++程序员吗?这两天在使用boost库编程,渐渐开始熟悉了。看到里面的datetime库的时候,不由得让我想起毕业时第一家公司工作时的要完成的一个功能模块,我花费了多少时间和经历去造轮子啊!那是一个广播系统,需要提供给用户一些设置接口,如每周五定时播放节目,每个月最后一天定时播放某节目。某个周三、周五定时播放。当时每个函数我自己一个一个的去写计算。现在想如果用boost的datetime分分钟搞定了。是啊,我们总在抱怨C++提供的库少,但是C++提供的STL、BOOST这些库,我们又能够熟练使用到什么地步呢。我开始怀疑直接还算不算一个C++程序员了。

     昨天刚看到<<C++沉思录>>中一两章,讲了为什么使用C的人转为学习C++的理由。于是今天我正好开始写代码,就准备对开始写的代码进行分析一下,发现整个代码阅读很费劲,太长了。于是我尝试对程序进行模块划分,看能不能进行一次重构。开始的时候发现模块怎样划分都不行,尤其是对设计到多线程的部分,怎样划分都觉得让程序变复杂了,C++遇到多线程确实让人头疼一把。分析期间,我简直坐立不安,对自己的程序越来越没信心;终于最后提取出了一个模块,独立出来并成功封装,让我高兴了一把。

   一个最容易导致代码走向臃肿的原因,需求总是一点一点的挤进来,导致每次都修改一点或添加一点就搞定了,而又不想去重构代码,怕引入新的BUG。导致了代码一行一行增加,最后乱得一塌糊涂。另一个原因就是一开始总是想快速实现,这是一个好的想法,但快速实现后需要重构结合。快速实现后不回头重构的代码是很糟糕的,不如一开始慢慢来,希望以后写代码时能够为自己争取代码重构时间。快速实现的时候最好还是先划分模块,大致类结构规划好,避免重构动大手术,尤其像我开始的一大堆C代码堆砌而成更让人要重构都有点怕怕的。如何很好的运用设计模式和敏捷开发真不是一天两天能行的啊!

    要学好C++,第一步还是先学好如何很好的划分程序模块,只有把模块关心划分清楚,好了,才能给很好地实现模块功能,模块提供的接口也才能够稳定有用。模块都不能划分好,还谈什么接口、封装、继承,更不谈什么面向对象。写工具类程序的面向对象程序我发现比写业务类的难写啊,真是汗颜。奋斗

原创粉丝点击