经过这两次业务开发之后,现在对于编程有了更加深入的理解。
回想起在最开始学习编程基础的时候,算法导论的老师讲到最重要的是编程的思想,不论我们学习什么语言,使用什么工具编程,最核心的还是你的编程思路是怎么样。当时只是听到,现在是确实的感受到了。下面我就来梳理一下我的基本感悟。
# 业务理解能力--编程效率来源于对业务的理解
- 经历了实际开发后你就会发现,这和自己写demo的时候的差异,自己写demo时,任务通常很单一,就是为了验证某个功能能实现吗,或者某个效果能否出来。
- 但是在整体业务开发的时候,你会发现是很多个功能和很多模块在相互交错,你要考虑具体实现,还要考虑相互关系,还要增强代码的鲁棒性,有的时候想得多了,就会发现脑子里一片糊,想法太多,导致没有办法具体下手。
- 那为什么说效率来自于对业务的理解呢。因为当你对业务有了明确的理解之后,你才能清楚的看到我们的业务走向,才能清楚怎样划分模块,如何一步一步的去推进,当你的每个小目标都十分明确的时候,你就不会去担心接下来做什么,自然的你就会把任务变成一个个小demo,这样写起来就会十分顺手了。
# 框架搭建能力--代码的可读性来源于模块化
- 代码的可读性,这个关键词似乎是针对阅读你代码的其他人的。但是我想说的是,当你开发的时间跨度变大的时候,你就会变成那个其他人。增强代码可读性无论何时都是一个开发者是否成熟的重要标志。在经过这两次开发后,我的结论是,没有什么是模块化的代码更加具有可读性的了。
# 那么我理解的模块化是怎么样的呢
主程序使用引入模块的方式编写,不将过多的代码写在index文件中。这样你才能随时清楚的看到业务走向,以及进度。
·编写模块必须明确输入和输出,任何业务模块都是为了将输入转化为输出而存在的,否则他就没有存在的必要
# 基本技能--编程语言要专一
专一的意思不是说你不去使用或者学习其他语言,而是你不要把自己的注意力过多的分散到其他地方,当我们保持对某个技能的专一之后,我们对于该技能才可能达到精通的地步。这是向高手进阶的必经之路。
什么是专一呢。使用它,研究它,优化它。随着你的不断使用,你可能会发现一些高效率的语法,或者一些高性能编写方法。这些都是建立在你对语言足够理解的基础上实现的。随着这些的不断加深,你可以透过这语言接触到我们的核心工具(电脑)内部的机制,从而达到向一个高手的进阶。
# 学习能力--提问是最重要的学习能力
- 学习任何内容过程都是不断的发问然后得到答案。
- 学习编程在这方面表现的尤为突出,因为语言的不断更新,性能的不断优化。我们的知识随时都需要更新。所以编程,可以说是将终生学习贯彻的较为彻底的一个行业。所以我们要不断的发问,不断的寻找答案,才能保证自己不被淘汰。
- 高效、精准的发问,是区分学习者学习能力的重要标准,也是接下来我的努力方向。
- 任何疑惑,都可以通过搜索引擎得到答案。就看你怎么使用它