如何快速提高编程能力

#############################################

"""
如何快速提高编程能力,自己的认识 1,多练,这是每一个人都知道的, 2,多学,学习别人的代码 """

 

#############################################

"""
别人总结的方法:
第一条,多写 一定要多练,多写,编程是一个熟练工种,三天不练手生, 如果你想提高编码的能力,最容易想到的一个方法就是多敲代码 第二条,基础 多阅读,多学习,一定要重视基础,了解这个语言的各个方面, 基础主要是面向对象,数据结构和算法,这个是长久不变的, 研究网络,和操作系统,这都是非常基础的内容, 第三条,多学 多参与不同的项目,学习和这个语言相关的周边技术,形成体系, 另外一种我认为绝对也能提高的方法: 阅读别人的代码能让你的编码能力得到明显的提升! 第四条,讨论 加入讨论,可以看看你对这门语言的了解程度,掌握了多少, 多交些朋友,大家共同进步,一个人闭门造车不行,如果有一个老师,那你的进步会更加的快, 公布自己的代码,开放自己的代码,参与别人的项目,你会有进步, 第五条,总结 多总结,写博客,你会遇到很多的问题,解决问题,总结问题,
阅读别人的博客
"""

 

#############################################

"""

要想提升编程能力需要考虑两个方面的因素,
1,是逻辑思维能力,
逻辑思维能力需要具备一定的数学基础,扎实的数学基础不仅能快速提升编程能力也能让程序员走得更远,因为程序设计问题说到底就是数学问题

2,是编程语言自身的熟练程度。
编程语言的熟练程度则需要通过大量的实验来提升,所以学习编程语言一定要注重实验的作用。

"""

 

#############################################

"""

提升编程能力,一般我们都听过很多方法,差不多就是多看,多学,多动手。
但是我们有的时候会发现这种方式太慢,有的时候会到一种瓶颈,解决某些问题比较困难,产生挫败感。

今天要谈是如何快速有效提升,如何逃避这种陷阱。

编程能力的发展阶段大致是一个这样的循环

一无所知---知道了一些----能解决一些问题----遇到解决不了的问题,觉得自己又是一无所知了

这是一个螺旋上升的过程,但是其知识和技能的掌握并非是一个爬楼梯的一级一级的跨越过程。
我们也可以表示为一个类似搭积木的过程。如果你一直往高度上追求,不断叠,就会根基不稳,要想堆更高,那就要更宽的基础。
在编程学习中,一般学会基础语言后,就会旁边扩展一些知识,然后往上一级发展。

今天要谈论的是,如何快速,如何有效的提升,也就是加速这个提升过程。

首先一个是反思

反思自己的程序,如果再写一次,你会怎么做?现在做的有那些不足?有那些地方可以用什么方式改进?
一旦你开始反思,就相当于埋下了钩子,下次学习遇到相关的技术,就会有动力记得更深刻,联想到自己的问题,把知识转化为自己的能力。

反思包括对别人的程序反思,是思考别人为什么要这么做?思考一个程序你来做会怎么做?这个过程会让你思考你所会的技术能解决什么问题,
还有那些地方有空白需要进一步学习,也会思考深入技术的底层。 这就是要提到的另外一个快速有效提升的方法:试着思考学习底层原理 我们多数时候,喜欢遇到问题了,就百度查找答案,直接复制粘贴,改改就用了。并没有明白其底层的道理,对于我们的整体能力提升来说,没有多大用处。 就算学了很多这样的函数,复制粘贴,也只是术的提升,一旦遇到问题遇到bug,就很难弄清楚到底什么地方出问题了。 如果从一个思维方式的层次来思考,百度是在寻找问题是什么what,以及如何解决问题,也就是how。 要有效提升,就是思考Why,为什么要这样解决,为什么用这个技术?为什么是这个算法?为什么是这个函数?一旦开始用这种思维,就是在探求编程之道。 这样在解决问题的过程,就算是百度,也会对自己有提升。另外顺着这个思路下去,很多问题就会触及计算机技术的本质:web服务的底层是如何运作?
UI控件之间是如何实现交互?系统线程是如何进行调度? 随着深入的层次越深,解决问题的能力也就会越来越强。如果更底层一些,就已经脱离技术,进入解决问题之道, 又在设计的时候,要转换焦点,从实现当前的函数,考虑到实现一个功能的整体需求,考虑到用户如何使用,以后如何维护升级,如何扩展功能,焦点定得越远,
那么很多问题你的思考方式就不一样了
"""

 

#############################################

 

"""

如何提高编程能力?

首先什么是编程能力,研发能力?
软件人员的研发能力就是指精通语言和编程吗?
绝对不是!精通这些语言和工具仅仅意味着掌握了一些知识。能力不等同于知识。
能力是指掌握了解决问题的正确方法。研发能力就是指掌握了分析、判断、解决、预测技术问题的方法。 

那么什么是研发能力呢? 
研发能力的5个层次 

会    对知识点的一般性的、孤立的掌握。这里没有什么窍门,一句话,勤学多练,别无他法。

熟练    在这个层次上,意味着能够快速而有效地完成既定设计。这里没有什么窍门,一句话,勤学多练,别无他法。

分析总结    从“熟练”到“分析总结”是一个很大的变化。分析是从杂乱无章的表面现象中整理出事物的条理,并抓住事物的主要矛盾。

全面规划    从“分析总结”到“全面规划”是一个质的飞跃。不断融会贯通知识的基础上掌握方法论而形成的。 

趋势运筹    这是更进一层的质的飞跃。不仅了解一方面的技术,还要了解不同技术间的因果关系和相互作用,也需要了解市场需求的变迁。 
"""

 

#############################################

 

#############################################

 

 

#############################################

 

posted @ 2020-02-22 12:21  技术改变命运Andy  阅读(1156)  评论(0编辑  收藏  举报