代码二十万,程序如有神

课程设计虽然最后因为迟到被取消答辩资格,该做的总结还是要有的。年轻人最终还是要自己对自己负责。
首先从方法上说起吧!这次的课程设计的两周一直在闭门造车了。谈到学习,大抵可有两类:一是说,先模仿然后个人去思考;另一是说先思考,独立寻找问题的解决方案,然后再追踪严谨的解题方式,去比较异同,进而反思自己的漏洞与不足之处。两类方法绝无优劣之分,因人因情而异。前者的弊病在往往我们模仿完了就忘掉了自己的独立深入思考,以为问题就这样被简单的解决了,自己已经掌握了问题的最优解决方案。殊不知,没有深入思考的模仿就像用空篮子去打水,当时捞了一箩筐,等你真正口渴了想去喝的时候,那点水分早就被时间消磨,被其他刚接触出的东西挤压,不知去处了。再说后者,有了个人的解决方案,问题虽然解决。可不是最佳方案,那可能是牺牲了太多的时间空间,效率最低的方式。没有事后的深度思考,深入比较,很容易形成思维惯性。也就是说之后虽然看到了一些解决问题的巧妙办法,当时只觉豁然开朗,醍醐灌顶大骂自己愚笨,但是当再一次碰到类似的方法时候,个人很容易用最早的方案而不是后来遇到的好办法去解决问题。深度思考会使大家走的更有效,更轻松。对前后效用给个估计,我相信不做思考只占到效用的30%,后边70%绝对来于你怎样把问题概括、发挥、总结、升华。
一言以蔽之,就是子曾经曰过的举一反三。事多如此,知易行难,举一反三不是天赋,不是兴趣,只是个习惯问题。假如你渴望成功,这个习惯就值得你拥有。咀嚼回味,写博客对诸编程帝是个很大众的做法哈~
其他的感慨之一是程序绝对不是瞎凑出来的。不论何时,作为IT人一定要保持清晰的逻辑思维。有算法意识,是写出完美程序的第一步。计算机是个实践性很强的专业,这没错,刚入门的菜鸟譬如说我,写程序第一步就是打开IDE,边想边做,一边改BUG,一边想语句,基本没有算法意识。寒假看过一段时间的算法,觉悟的东西可怜的很,十中甚至无一二。用的熟练的恐怕就是蛮力法了,自己也真是蛮的可以……其他的,贪心、分治还是七窍通六窍,递归还好,经过这次的设计算是知其一二矣!王一男《编程黑马真言》还说:递归,神人也。递归思想绝对博大精深。小子在这儿得瑟了。另一感慨是不要过分依赖IDE,更确切的说法是不要过分依赖编译器的报错查错。之于新手,利用编译器报错,能解决很多的语法错误,但是因为这,不自然的就会养成很多不好的习惯。很严重的一个就是上边谈到的,缺乏算法意识。总想着试试看,有问题再解决。过分依赖编译器的查错报错机制,一个程序员迟早会丢掉代码嗅觉,导致编程基础知识的模棱两可,导致基础的不牢固。《大唐双龙传》里边鲁苗子把寇徐两人手里的飞天神爪给扔下深崖就是出于这么个考虑,依赖工具会限制个人能力的增长。程序的BUG只能存在在逻辑,存在在算法里边,否则只会浪费更多的时间,却不会有什么进步。、
上边所说的两点,在小的设计里边或可支撑一二,看不出严重的问题。倘若在大的架构里边,这样的做法只会使项目工程以灾难收尾!这些缺陷最终必然导致无限复杂性,使代码趋向不可控制。
最后再说一下程序员的阶梯进步,下一步应该怎么做。最好多去大型的书店转转,一来愉悦自己,二来开开眼界。缺乏导师,缺乏志友,能伴我的就是书了。虽然大学两年了,入门也就一年,进步很慢,总觉得自己该走的更快,每每都会想到自己落后太多,心里总是有所不安。进来忽然想不知道这算不算人性的一个弱点:熬夜的太多是出于一种对未来的责任感,实际想想,熬夜的反面却是效率不高。学会平衡生活各方面吧,否则只会输的更惨。
代码二十万,程序如有神。如果在十年内能做这一点,足够了。没来由的想起杜牧的一句诗:春风桃李一杯酒,江湖夜雨十年灯。不解释了,都懂得……就编程哲学,像克努特那样天天说算法我们怎么样我们怎么样是不可能了,能到梁肇新我就是程序程序就是我那高度,人生也就圆满了。还要提一点,之后怎么走,大学剩下的是多博、还是精专,细思量!

你可能感兴趣的:(生活)