作为一个写了十几年程序的老码农,写代码靠的是逻辑思维,加上稳固的编程语言基础学习代码。编程其实和学习英语有一定的相同之处,但又有不同之处,英语的学习可能夹杂着记忆成分,编程百分90以上靠的是逻辑思维加上强大的实践动手能力,很多人觉得先把理论掌握透彻了再去学习编程会快很多,有过几年编程经验的人可能对自己刚入行的时候多少都会有点记忆,真正让自己彻底能开始写代码绝对不是从一次次理论得来的,主要还是经历一次项目实战而且开始都有一种无形的压力,随着时间的推移发现特别是项目进行到一半的时候,发现编程没有想象的那么难,还是完全可以搞定的,甚至对于自己来讲也是能负担一部分的自信,这就是实战的威力,很多人基础很差但是经历了一次这种项目的磨练,成长的也会快速很多。
编程玩的就是逻辑思维,很多人说学习编程数学好的会占据点优势,这句话本身是有道理的,因为数学逻辑强直接切入到编程学习中具有天然的优势,这都不是主要的,编程入门学习的过程其实是培养编程语感的过程,一旦有了感觉写代码或者设计模块就会变得快很多了,编程能力的提升只靠多记是不可能有多大进步,在软件企业里面会有这样一种现象,培训出来的学生遇到在机构里面学过的就会做的非常快,有新的模块出来就容易变得手足无措,自学出来的会好很多,毕竟自学的过程就是一种自我寻找编程语感的过程,培训大部分属于灌输性质的,甚至很多极端的企业直接对参加培训的学生排除在外。
代码的学习在没有项目的情况下,要找一些练手题目,练手的时候不要在纸上谢谢而已,还要在电脑上形成真正的代码实现,不能仅仅是做一些模拟代码,要强迫自己拿出最好的学习状态,才能真正突破,只是学习理论只会在水上漂着永远学不到真正的编程能力,很多理论学的很棒的学生在考试的时候成绩很高,一旦上机就抓瞎,因为在真正实现代码的感觉和直接理论的学习是完全两码事,曾经有个同事写代码特别费劲,后来觉得自己真的不适合写代码就去复习考研去了,结果真考上计算机系的硕士成绩还特别好,写代码就是不停在机器上实践操作。
还真见过背诵常见的代码的大学生,后来发现稍微一变通就不行了,最后选择了放弃代码从来不是背诵出来的,编程代码的变化概率太高了,没有逻辑变通系统很难掌握的全面,但不能因此走极端放弃理论的学习,直接上机乱搞一通,这也不是学习代码的好习惯,首先有理论基础然后构建自己的理论体系,然后带着自己的想法去用代码实现,越是有经验的程序员在花写代码的时间长越短,主要在前期的设计上以及后期调试,最后是不断的代码的优化重构。
反而是一些刚入行的程序员就是担心自己不能实现功能,花费大量时间研究如何实现代码,一般过了几年的时间之后基本功上来之后,就会回归到设计和调试上来,到了这个层面更加和以及没有什么关系了,优秀的程序员就是在不断的提升编程基本功,修炼自己的编程思想和实际解决问题的能力,每个人都会经历这个过程。
希望能帮到你。
学习编程抄代码就够了吗?
正所谓他山之石可以攻玉。在编程的过程中,如果有条件的话,借鉴一下别人的代码是有好处的,因此也是经常需要做的事情。
这里说的借鉴别人的代码,不是说全盘照抄别人的代码。因为很少有可能别人的代码可以直接拿过来,在你的程序里面使用。这是由程序项目的需求多样化决定的,同时,每个项目的架构可能也不一样。代码的风格,逻辑融合,和程序兼容性等因素会制约你直接使用别人的代码。
那你如果跟我抬杠,说你就是靠别人抄别人代码生活工作的。那也没问题,那说明你运气非常好,把网上的开源项目稍微改一下就可以作为自己的项目来发布。
这个属于非常极端的情况。我们写程序的不赞成这么做。
大多数情况是在你写一个功能之前,可能需要在网上找一些资料,这里面也包括看别人做过的类似功能的代码。你首先需要读懂别人的代码,然后从里面拿出对你项目有用的东西来。
最终融合到自己的项目中,并且进行不断的优化。最后形成属于你自己项目的健壮性代码。
我记得刚开始写程序的时候,碰上一个做测试的,他是从程序员转过来的。他的观点,字里行间就带着对程序员的不屑,说程序员的工作就是粘贴复制。我当时觉得,好搞笑啊,感觉他在污蔑程序员。
现在再回过头去想的话,有这种观点也是无可厚非的,因为每个人都可以有自己的观点,自己的认知,他的理解层次就能到那一步,这也不是他的错。
小结一下吧,总之,我们写程序的,借鉴别人代码是不可避免的,但是如果说完全拷贝别人的代码,这也是不现实的。要不然要我们程序员干什么?
好了,欢迎关注丁哥开讲留言点赞,谢谢,我们下个话题再见。