如何学习编程思路?

各位前辈,朋友们,小弟是一名前端新手,目前遇到了些关于学习方法的问题
对于编程思路,我该如何学习?
对于解决问题的方法,在有若干种备选的情况下,该如何取舍?
项目时间紧,是自己找机会造轮子锻炼合适还是图快用现成的插件合适?

阅读 10.1k
11 个回答

在大学的时候有这么一门课:《设计模式》

当时我并不知道它说的是什么,上课的时候,老师通过形象的比喻告诉我们这些模式都是做什么的,我们听的津津有味。

现在工作快一年了,早已将课上学的设计模式忘光光,隐约记得什么鸭子模式。

但是在工作中,通过写代码和重构,我发现很多的道理可以归结成一些模式,如开闭原则,高内聚低耦合,单一职责原则等等,反过头来看,这些正是我们当时学习的设计模式。

所以,我觉得,既然设计模式是前人通过大量的代码经验总结而成的东西,我们后人也应该走一走前人的路,因为从量变到质变是需要一个积累和思考的过程的,并不是像饭一样吃下去就能消化掉。

总结:多敲代码多思考配合学习一些常用模式,生活会更好

我们的目标是:世界和平

思路,是一个人思考的条理、线索
思想,是一个人全部的想法、念头

编程思路,是一个人编写程序时所自然遵循的条理和线索,是一个人多年实践所积累的,使思考问题的方式最优化的习惯所产生的结果,是编程思想的结果
编程思想,是一个人编写程序时脑中所浮现的系统的计划和设想,是编写程序时特定的思维方式——看待问题的角度、分析问题的方法,是编程思路的源头

编程思路是编程思想所产生的结果,即便刻意学习,也无法举一反三,应用自如
编程思想是一个人多年经验的结果,即便刻意学习,也不能融会贯通,游刃有余

在编程思路和编程思想背后,是编程能力

编程能力的提升意味着编程思想的提升,也就意味着编程思路的提升

编程能力的境界有四重:

无意识的无能力——无能力,也意识不到自己缺乏何种能力,未开始训练
有意识的无能力——无能力,但明确了自己所缺乏的能力,开始刻意训练
有意识的有能力——有能力,但依赖于意识的投入来维持刻意训练的效果
无意识的有能力——有能力,不需要意识的参与就能自动找到问题的解决

显然,题主缺乏能力,缺乏解决编程问题的能力,也缺乏对自己所缺乏的能力的认识,表现为编程思路匮乏、渴望学习编程思路,殊不知这只是招式,未及内功

没积累过足量好词好句,就做不到妙语连珠
没参透过足量优质代码,就做不到思路泉涌

学习编程思路犹如积累辞藻,是积累提升编程能力的原材料,是学习招式
但更重要的是在合适的场合想到合适的思路,这靠的是编程思想,是内功

而彻悟编程思想,靠的是亲身实践结合前人总结,知行合一

学习前人经验,是学习招式
联系亲身实践,是修炼内功

以上,便是自我提升的基本格局

当你看透大局,就不会再纠结那些小细节了,你自己就会找到回答这些问题的方法,和答案。

这个问题好宽泛,基本回答不了, 至于方案的选择是需要经验的, 只有你知道的越多,明确的知道各个方案之间的优缺点,再结合当前问题,才能有一个好的方案选择, 这是一个综合能力的问题,不是一本书或者一个人,一个大神就可以帮你搞定的,至于学习思路或编程思路,这个对于刚接触编程的你来说,需要多模仿优秀的代码,人类最原始也最厉害的能力就是模仿,但是模仿不能只是模仿,你也要一边学习一边模仿,慢慢的你就能明白代码的含义了,这是一个比较缓慢的过程,不能着急, 总之,用一句俗之又俗的话: 多用脑 多思考 进步是剧增的.

不知道我说的对你有没有一点作用,希望不全是废话。

编程思路?JavaScript?

建议多看(源码),多写,多模仿,有必要的时候练习下算法和数据结构

关于算法和数据结构,建议刷下 leetcode,可以关注下我的题解 https://github.com/hanzichi/leetcode

  • 尽量自动化,避免人工

  • 尽量多写,熟能生巧

  • 尽量写精品代码,优化代码组织结构(可看其它优秀的库)

  • 尽量让代码可扩改,加需求或者修改方便(看看设计模式等)

  • 尽量在注意点代码处写注释,方便以后自己或者维护人员注意

  • 基础还是要看书,别人项目或者讲解只能给你他的经验

新手尽量多写代码,保证代码量,就能提高,至于思路,只可意会不可言传

无他,唯手熟而

先掌握入门知识(推荐教程:http://www.rm5u.com),做一些实战项目,学习开源项目,看看优秀的项目架构是怎么设计的,或从同事学,从技术博客上学。需要时间来积累

听说过编程思想,没有听说过编程思路。

  • 所谓的编程思路,是在长期锻炼中得到的吧。

  • 解决问题的方法,根据实际的业务场景。如果没有业务场景,可以考虑从代码的可扩展性上入手。

  • 项目时间紧。现成的插件,生产效率第一。

看开源项目源码

1、请自行搜索,有好多回答编程新手如何提高编程能力?,搜索能力是学习能力的一部分
2、参看1,自己查找,请教高手
3、项目时间紧当然是已搞定项目为目标,除非是你不想干了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏