zoukankan      html  css  js  c++  java
  • 学习编程的三个问题

    问题:
            作为一个新手对于编程思路,该如何理解?
            对于解决问题的方法,在有若干种备选的情况下,该如何取舍?
            项目时间紧,是自己找机会造轮子锻炼还是为了省事用现成的插件?

    回答一:
            在大学的时候有这么一门课:《设计模式》
            当时我并不知道它说的是什么,上课的时候,老师通过形象的比喻告诉我们这些模式都是做什么的,我们听的津津有味。
            现在工作快一年了,早已将课上学的设计模式忘光光,隐约记得什么鸭子模式。
            但是在工作中,通过写代码和重构,我发现很多的道理可以归结成一些模式,如开闭原则,高内聚低耦合,单一职责原则等等,反过头来看,这些正是我们当时学习的设计模式。
            所以,我觉得,既然设计模式是前人通过大量的代码经验总结而成的东西,我们后人也应该走一走前人的路,因为从量变到质变是需要一个积累和思考的过程的,并不是像饭一样吃下去就能消化掉。
            总结:多敲代码多思考配合学习一些常用模式,生活会更好

    回答二:
            思路,是一个人思考的条理、线索
            思想,是一个人全部的想法、念头
            编程思路,是一个人编写程序时所自然遵循的条理和线索,是一个人多年实践所积累的,使思考问题的方式最优化的习惯所产生的结果,是编程思想的结果
            编程思想,是一个人编写程序时脑中所浮现的系统的计划和设想,是编写程序时特定的思维方式——看待问题的角度、分析问题的方法,是编程思路的源头
            编程思路是编程思想所产生的结果,即便刻意学习,也无法举一反三,应用自如
            编程思想是一个人多年经验的结果,即便刻意学习,也不能融会贯通,游刃有余
            在编程思路和编程思想背后,是编程能力
            编程能力的提升意味着编程思想的提升,也就意味着编程思路的提升
            编程能力的境界有四重:
            无意识的无能力——无能力,也意识不到自己缺乏何种能力,未开始训练
            有意识的无能力——无能力,但明确了自己所缺乏的能力,开始刻意训练
            有意识的有能力——有能力,但依赖于意识的投入来维持刻意训练的效果
            无意识的有能力——有能力,不需要意识的参与就能自动找到问题的解决
            显然,题主缺乏能力,缺乏解决编程问题的能力,也缺乏对自己所缺乏的能力的认识,表现为编程思路匮乏、渴望学习编程思路,殊不知这只是招式,未及内功
            没积累过足量好词好句,就做不到妙语连珠
            没参透过足量优质代码,就做不到思路泉涌
            学习编程思路犹如积累辞藻,是积累提升编程能力的原材料,是学习招式
            但更重要的是在合适的场合想到合适的思路,这靠的是编程思想,是内功
            而彻悟编程思想,靠的是亲身实践结合前人总结,知行合一
            学习前人经验,是学习招式
            联系亲身实践,是修炼内功
            以上,便是自我提升的基本格局
            当你看透大局,就不会再纠结那些小细节了,你自己就会找到回答这些问题的方法,和答案

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

    回答四:
            所谓的编程思路,是在长期锻炼中得到的吧。
            解决问题的方法,根据实际的业务场景。如果没有业务场景,可以考虑从代码的可扩展性上入手。
            项目时间紧。现成的插件,生产效率第一。

    回答五:
            尽量自动化,避免人工
            尽量多写,熟能生巧
            尽量写精品代码,优化代码组织结构(可看其它优秀的库)
            尽量让代码可扩改,加需求或者修改方便(看看设计模式等)
            尽量在注意点代码处写注释,方便以后自己或者维护人员注意
            基础还是要看书,别人项目或者讲解只能给你他的经验


    总结:
            1、编程思路如何养成
                    作为新手来说,多参考前人对一个方法实现的思路,多阅览博客、多看视频等,一定要做笔记或写博客,养成一种习惯。集思广义。
                    思路这个东西是靠长期积累沉淀的
            2、对于一个问题,有好多解决方法的取舍
              首先好多解决方法肯定是参考一些文章得到的,你也不知道那个最佳,找一个师傅问下那个最佳,顺便了解下各个解法的优缺点
              然后自己每一个方法都尝试运用下。一定要自己尝试每一个方法,不然很容易养成依赖心理
            3、项目紧,怎么办
              首先一个企业是需要盈利的,你要在规定的时间完成项目。所以第一考虑的是如何在短时间完成改项目,而且质量有保证。
         时间紧的情况下可以先用别人整理好的东西,因为别人整理好的发布的基本都是成熟的,如果自己重新开始,不但浪费时间,还有可能质量保证不了。
              宽裕的时间一定要自己尝试的写一次,不要一直依赖别人。自己动手解决的才最可靠



    整理文章来源:https://segmentfault.com/q/1010000005348983 
  • 相关阅读:
    TabControl添加关闭按钮
    Windows & RabbitMQ:集群(clustering) & 高可用(HA)
    Windows & RabbitMQ:Shovel
    15项最佳电子产品影响人类未来
    收藏很久的开关电源书籍
    我也不想这样(转载)
    vbs 脚本轻松搞定JDK的环境变量配置
    开关电源基本知识
    浅谈软件开发定律系列之帕金森定律(Parkinson’s Law)
    堕落的时候看看——清华大学老师的一席话
  • 原文地址:https://www.cnblogs.com/tynam/p/9018333.html
Copyright © 2011-2022 走看看