美文网首页
什么是编程?

什么是编程?

作者: sunny冲哥 | 来源:发表于2018-01-17 09:36 被阅读270次

前言

如果有人问你:你怎么看待编程这件事?你怎么回答。


这个问题是忽然出现在我脑子中的。我突然意识到,其实不管是函数还是属性,他们都是数据。我们编写的所有程序都是在处理数据。函数本身也是一种特殊的数据。

真正难的是生产数据的这一过程。举个例子,给你一堆菜籽,要求生产出油来。怎么办?我们首先为这个任务设计一个函数:

-(油)用菜籽生产油(菜籽);

这就是我们最外层的函数,也应该是我们最开始想到的函数。然后经过我们的研究发现,这个生产过程很复杂,必须分工合作才能实现。于是我们把这个任务分割为好几个小任务:

1. - (干净的菜籽)取出杂质(菜籽);
2. - (炒熟的菜籽)把菜籽炒一下(干净的菜籽);
3. - (蒸了的菜籽)把菜籽蒸一下(炒熟的菜籽);
4. - (捆好的菜籽)把菜籽包捆成一块(蒸了的菜籽);
5. - (油)撞击菜籽包(捆好的菜籽);

大家有没有发现,整个榨油的过程在编程看来就是对数据的处理。这一点其实很重要。如果没有把- (油)用菜籽生产油(菜籽);这一任务进行拆分,我们就会写出复杂无比的函数。那么就有人要问了,只要实现这个功能就行了呗。但是这就可能造成代码臃肿,逻辑复杂的问题,这往往也是写不出好代码的原因。毕竟协调合作,效率更高.

整个任务的设计应该是事先就设计好的(开发设计文档)。任务被分割成更小更简单的部分,然后再去实现这些最小的任务,不应该是变写边分割任务,往往临时分割的任务(也算是私有函数吧)没有最正确的界限,并且可能严重影响开发效率.

有了上边合理的分工之后呢,我们就可以进行任务安排了。我们回到现实开发中来。上边5个子任务的难度是不同的。有的人可能基础比较差,那么让他去干筛菜籽这种体力活,应该没问题。那些炒或者蒸的子任务是要掌握火候的,也就是说有点技术含量。那么就交给能胜任这项工作的人去做。所有的这一切,我们只要事先定义好各自的生产结果就行了,完全不影响每个程序的执行。

怎么样?大家体会到这种编程设计的好处了吗?我还可以进行合并,把炒和煮合成一个小组,完全可行。如果我想买煮熟了的菜籽,是不是也很简单?
有的人用原始的撞击菜籽包榨油,有的人却用最先进的仪器榨油,这就是编程技术和知识深度的区别。

相关文章

  • 编程入门(五):编程开发工具这么多,我该如何选择?

    关于什么是编程、为什么学习编程以及如何选择编程语言,请点击下方链接: 编程入门(二):什么是编程?[https:/...

  • 什么是编程

    什么是编程 在上一篇什么是程序中,我们得出结论:编程就是按照我们的目的,组合指令。我们的目的就是通过程序的执行解决...

  • 什么是编程?

    前言 如果有人问你:你怎么看待编程这件事?你怎么回答。 真正难的是生产数据的这一过程。举个例子,给你一堆菜籽,要求...

  • react

    什么是声明式编程 声明式编程 vs 命令式编程 什么是函数式编程 什么是组件设计模式 React 是什么 Reac...

  • [转]并发和并行有什么区别

    做并发编程之前,必须首先理解什么是并发,什么是并行,什么是并发编程,什么是并行编程。 并发(concurrency...

  • 编程很深奥?一文读懂所谓的“编程思维”

    大家经常听说“学编程可以培养编程思维”,而编程思维是什么?学编程和培养编程思维有什么联系你知道吗? 一、什么是编程...

  • 函数式编程简析

    想要知道什么是函数式编程就需要先理解什么是编程范式 编程范式是什么? 编程范型、编程范式或程序设计法(英语:Pro...

  • 四 . TCP 编程

    什么是 TCP 编程 TCP 编程是建立在 TCP 协议上的 Socket 编程 什么是 TCP 协议 TCP (...

  • 编程基础---什么是编程语言

    学习编程语言之前,首先要搞清楚“编程语言”这个概念。 很小的时候,父母就教我们开口说话,也教我们如何理解别人讲话的...

  • 编程语言介绍与分类

    小猿圈-IT自学人的小圈子 什么是编程?为什么要编程? 编程 是个动词,编程==写代码,写代码为了什么? 为了让计...

网友评论

      本文标题:什么是编程?

      本文链接:https://www.haomeiwen.com/subject/zpeyoxtx.html