【十万个编程篇】写文章与“写项目”的差别
发布日期:2021-06-30 21:33:27 浏览次数:4 分类:技术文章

本文共 3143 字,大约阅读时间需要 10 分钟。

  自古暨今,世间陆续诞生出“现象级”的文学作品,如《左传》、《桃花源记》、《背影》等文章,又如《咏鹅》、《将进酒》、《一剪梅》等诗词。

  编程世界也同样续写着新的辉煌,如Unix、Windows、Linux等内核系统,又如Apache、Tengine、ECharts等开源项目。

在这里插入图片描述

  它们无一例外,都标志着历史的发展与演变过程。它们也拥有着独特的风格,只有“现象级”才属于对它们的称赞。

章节预览:

章节内容:

1. 建立正确的“中心”

  写一篇文章可以是头脑发热般的“冲动”,也可以如写项目般,选择符题的中心。

  比如这篇文章,如果没有中心思想,它只能是一篇拼凑文字的文章。因此,我为这篇文章赋予了“中心”,即“现象级”。

在这里插入图片描述

  其实,在写这篇文章之前,我已经为它的“中心”而思考。这篇文章即没采用“差别”,也没采用“为什么”,都不外乎一个原因——它们不符合主题。想来想去,唯有“现象”配得上它的风格。

  相比之下,写一个项目的“中心”更需谨慎,首先考虑项目的整体功能,然后根据项目规划出“中心”。比如:
      1. DMA采集数据项目,它的“中心”属于输入。项目中,DMA主要用于数据传输。相似的情况有许多,如硬件设备映射输出,文件读取等,我们需要做到的就是如何“输入”这些数据,然后按照规定格式储存。
      2. 前端界面展示数据项目,它的“中心”属于输出。项目中,前端主要用于数据展示。相似的情况也有许多,如系统界面展示、文件写入等,我们需要做到的就是如何“输出”这些数据,然后按照规定格式展示。
      3. 终端管控控制项目,它的“中心”属于控制。项目中,终端主要用于管控处理。相似的情况也有许多,如内核管控、应用管控等,我们需要做到的就是如何“控制”这些功能,然后按照规定格式处理。

  写一篇文章,有时候只需要一个灵感。写一个项目,则需要考虑整体因素。

2. 精雕符题的“框架”

  写一篇文章可以是天马行空般的“浮夸”,也可以如写项目般,选择精密的设计。

  比如这篇文章,如果没有符题的结构,它只能是一篇杂乱无序的文章。因此,我为这篇文章赋予了“框架”,即“现象级”。

在这里插入图片描述

  其实,在写这篇文章之前,我已经为它的“框架”而思考。这篇文章即没采用“随缘”,也没采用“墨守成规”,都不外乎一个原因——它们不符合主题。想来想去,唯有“现象”配得上它的风格。

  相比之下,写一个项目的“框架”更需谨慎,首先考虑项目的适用范围,然后根据项目规划出“框架”。比如:
      1. 功能明确
          首先考虑需要哪些功能,然后根据每一个功能查找较优的实现方案。实现方案应以精简、易读为准。精简的设计可以轻松分析出功能由几部分构成,易读的写法可以轻松理解每一部分的实现方式,并可以快速上手开发、维护。

      2. 不追求完美

          有些项目开发周期较短,无法做到每个功能的完美化,这种情况比较适合循环渐进式开发。项目开发前期应以实现基本功能为目的,可以在Demo工程中,一边开发一边测试,达到合格标准后,新建别的Demo工程,继续按照这种方式开发新的功能。

      3. 模块化融合

          需要的功能基本完成时,可以考虑模块化融合到项目中。每一个重要功能都要按照一个模块规划,这种设计即减少功能冲突造成的时间消耗,也方便中、后期的功能模块扩展。

      4. 由主细分

          项目应构建管理模块,即主模块,并在主线程中执行。所有的业务由主模块统一派发,这种设计即可以保证资源的充分利用,也可以保证项目的稳定性。耗时的业务应由主线程派遣出子线程处理,这样即可以保证主线程的稳定性,也可以保证子线程的周期性、数据正确性。必要的情况下,应做线程同步处理,比如增加互斥锁、临界区等,这种情况一般出现在多个线程写入一块缓存或一个文件中。

      5. 及时纠正

          项目开发周期较短,容易出现模块混乱的情况。这种情况下,应及时分析整体的规划,并作出调整。有时候,一个小的疏忽可能在接下来的一段时间里,都要为它“填坑”。及时调整架构也许要花上2到3天时间,但,应该这么做。因为框架完成后,这个疏忽可能需要一个星期,甚至一个月来维护、调整。

  写一篇文章,有时候只需要逻辑通顺。写一个项目,则需要考虑框架稳定。

3. 细啄每一部分的“精髓”

  写一篇文章可以是浪子入市般的“豪放”,也可以如写项目般,选择婴儿般的呵护。

  比如这篇文章,如果没有细啄的语句,它只能是一篇食之无味的文章。因此,我为这篇文章赋予了“精髓”,即“现象级”。

在这里插入图片描述

  其实,在写这篇文章之前,我已经为它的“精髓”而思考。这篇文章即没采用“粗犷”,也没采用“夸张”,都不外乎一个原因——它们不符合主题。想来想去,唯有“现象”配得上它的风格。

相比之下,写一个项目的“精髓”更需谨慎,首先考虑功能的入手程度,然后根据功能创造出“精髓”。比如:
      1. 快速入手
          首先参考资料,查看功能如何实现,然后根据实现方式扩展出项目需要的功能。扩展思路应以周全、标准为优。周全的扩展可以轻松应对项目运行中的突发情况,标准的结构可以使每一位编程人员轻松理解。

      2. 命名规范化

          编写命名风格应根据不同的平台以及不同的IDE决定。不同编程人员之间的编码风格不尽相同,这关乎着不同编程人员的思考方式也不相同。当然,编码风格不能强求,但,可以要求编写命名风格。比如,Windows相关平台开发,一般采用“匈牙利命名法”,Linux相关平台开发,一般由小写字母,数字和下划线构成。当然,也有一些IDE例外,比如qtcreator,它属于跨平台产物,它的命名方法就有些与众不同,它属于“大驼峰命名法”和“小驼峰命名法”混合使用。

      3. 编写注释

          编写功能时,优良代码与普通代码的差距也许就在于一行注释。注释同样存在较多的风格,应根据项目需要而定,但,好的注释一定包含日期和代码说明。搜索代码时,根据日期可以轻松排查出某一时间段的增改内容,而代码说明则可以让我们更快理解这部分代码的含义。

  写一篇文章,有时候只需要小节概况内容。写一个项目,则需要功能完善。

4. 锻造出精良的“产物”

  写一篇文章可以是虎头虎脑的“随意”,也可以如写项目般,选择千锤百炼的锻造。

  比如这篇文章,如果没有锻造的过程,它只能是一篇漏洞百出的文章。因此,我为这篇文章赋予了“锻造”,即“现象级”。

在这里插入图片描述

  其实,在写这篇文章之前,我已经为它的“锻造”而思考。这篇文章即没采用“随意”,也没采用“拼凑”,都不外乎一个原因——它们不符合主题。想来想去,唯有“现象”配得上它的风格。

  相比之下,“写一个项目”的“产物”更为谨慎,首先考虑市场的形成程度,然后根据市场创造出“产物”。比如:
      1. 市场形成
          在国内和国外的市场中,智能设备相关的需求日益增多。造成这种现象的原因也很简单,现代的科学技术已经达到了新的高度,足以支撑起这部分领域。

      2. 发展趋势

          国际领域,智能代步工具、智能家电、智能机器人已成功引导出人们的好奇心,甚至一部分产品已经进入人们的视野,并应用在不同的场景和家庭中。
          国内领域,国产化产物也在发展壮大,它们怀着大家的期盼,代表着大家的努力,甚至一部分产品已经进军国际市场,并获得了丰硕的“果实”。

      3. 需求分析

          产品需求可以是展望未来,也可以是追平足迹。展望未来需要考虑当代未曾拥有的产品,但,设计难度颇高,成功率尚不明确。相比之下,追平足迹更容易被人们接受,当然,设计难度略低,成功率略低。

  写一篇文章,有时候只需要创意,“写一个项目”,则需要市场扩展。

生活感悟

  生活中,无论是创作还是“写项目”,都需要我们亲自尝试和“挖掘”。

  比如我自己,有时候听一首歌曲、看一部电视剧,就能拥有新的思路,并尝试创作新的作品。

  我们每一个人都有自己的生活方式,在自己的领域中寻找“灵感”是最主要的途径,也是最重要的因素。

转载地址:https://lkyof.blog.csdn.net/article/details/105010264 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:一起学习C语言:C语言循环结构(三)
下一篇:一起学习C语言:C语言循环结构(二)

发表评论

最新留言

不错!
[***.144.177.141]2024年04月07日 15时57分19秒