C项目经验总结

毕了业,搞起了嵌入式软件。一切都从头来。下面是我的一些项目经验

1.软件要分层

   C语言虽是面向过程的语言,但是并不意味着,设计程序的时候要把一个分任务从头写到尾。要学会

   任务分隔。我的做法是这样的,先把程序从功能或硬件上,分成几个模块。每个模块完成自己的事情,

   一般是设置相应的标志位,并不做实际的工作。如果标志位过多,就充分利用结构体的优势。

    上下关系的模块:下一个模块解析上一个模块的全局结构体变量来置自己的标志位。同一个模块内部,

     就写一个大结构体的全局变量,最后补充一个 返回全局变量指针的函数给下一个模块通信。一般最后

    一个模块就要执行实际的动作。那就是根据标志位,执行了, 也很简单。

     如果按照上面的思路来组织程序,要注意头文件的写法。首先每个C文件对应一个头文件。然后,专门

    写一个总的头文件包涵所有的其它头文件。注意这个总的头文件内部不要再定义结构类型。最后,再在每

   个子文件中包括这个总的头文件。

2.软件分工

   一般情况下,一个工程会比较大,需要多个人来写。那么如何确保分工明确,协调一致呢?

   一种串行方式的分工:总工程师按照任务的先后顺序,定义好接口,由项目组的人分别去实现接口。这种

                                         方式完成的程序耦合性高,不利于维护和修改。但是程序容易理解。

   一种并行方式的分工:总工程师,给每个人分配一个公共内存区,并指明其内存区的含义。然后,由个人

                                       自由实现与公共内存 区的通信。这种方式方便调试和修改,但是程序的实际含义可能

                                      只有总工程师理解。也就是每个人“只见树林,不见森林”。

3.不要“不懂就要问”

     一个项目往往很大。如果你都知道了,再坐下来写程序,岂不到了猴年马月。要习惯利用别人的程序,要

        习惯程序中有一些你自己都不知道的东西,甚至是在你看来完全多余的东西。这些多余的东西,有的是

         为了扩展性的需要,写好了,先放在那里,有的是为了优化硬件性能,有的甚至就是为了延时。

 

你可能感兴趣的:(c,优化,嵌入式,扩展,语言,任务)