关于程序猿的技术发展讨论
在工作之中就感觉自己的工作是枯燥无味,毫无挑战意义的事情.
特此,就我自身眼下的现状给其它一些有技术发展茫然的朋友做个分享.
在每天敲完我的curd的时候,我会分析我所做的模块是否符合业务逻辑的需求,是否存在业务或者代码上的bug(測试自己的代码非常重要,不管是自己还是对公司抑或是产品),思考代码的性能是否已经达到非常好,能否进行代码重构(相同的业务逻辑,不同的代码,可能你在自己測试的时候感觉代码优化的不错,可是发现产品上线之后,在高并发的时候存在性能偏低的问题)
观察你整个项目的架构,三人行,必有我师,每一个项目都会有curd,然后因为业务的需求,每一个项目的数据库,后台搭建,所用技术是不一定同样的,你能够观察一下他们的不同点在哪,这个项目的架构为什么如此的设计,这么设计的优点是什么,缺点是什么.为什么选用这个框架,在做项目的时候,业务的了解性也是必要的。
以前看到有位兄台说道,每天做的curd都大同小异,那我们是不是能够把这有公共点的代码提取出来,做对应的封装,变成我们想要的工具类,以方便下次更快捷的使用,能否够利用设计模式,让我们的代码更具备公共化呢(设计模式也是非常重要的)
去github库中寻找一些其它的框架,从搭建開始,(假设仅仅是为了练手)把自己曾经的项目用这个框架又一次实现一下,相信用这个新框架做完一个曾经的项目之后,你应该也对这个框架了解的不少了.这时候,你去体会一下,这个框架的长处在哪,缺点又在哪.这个框架的优缺点知道了,那他适合做什么样业务的项目呢.好的,这些我们都知道了,这时候我们能够去尝试理解这个框架的设计理念.看不懂?
没关系,我们能够把他的一块块分解开,抽出来,看看究竟是做什么的,又为什么这么去做.
还有就是能够去看一些论坛,或者加一些技术交流群,去尝试帮别人解决一些问题,这样你的问题处理能力会提升非常多.
好了做完以上这些,我认为你应该不会再有这样的疑惑了.假设你的状态依旧和如今一样,那么你还能够这么做.
去看一些大牛的技术blog,去那上面找一些关于系统架构,设计模式,底层原理的解析等.
事实上也能够尝试学习一些其它的主流语言,如ruby,php Python等,拿这些语言与java进行比对,看看两者之间的共同和不同之处,各自的优缺点.尝试一种新的挑战,对未来的发展和语言的理解也是一件故意之事.
事实上说来说去,基础扎实还是非常重要的,尽管如今你所做的东西都作出来了,可是你不一定知道为什么这么做,这么做有什么优点,又有什么缺点,尝试着从自己的代码中寻找能提升自己的地方.(另外基础扎实还是非常重要的,源代码看不懂的最大原因还是基础不够扎实,设计模式理解不够透彻)框架仅仅是为了简化我们的代码工作量,总的来讲,所谓框架,就是利用一些设计模式设计思想(java框架中最经常使用到的就是反射技术)把一些经常使用的代码进行了封装化.
楼主说到感觉没什么意思,那仅仅是由于你眼下没遇到一些难题,技术=不难,业务=微难,业务+技术=未知;全部的技术都是大同小异而已,真正的难点还是和业务需求挂钩的技术,相同的一个bug,你可能有n种解决方式,但是哪一种是最好的呢.所以,眼下还是安下心来,打好基础,一步一步稳扎稳打的走下去.
以上为个人的一些从业经验,以及小小的建议,希望大家早日可以达到自己期望的高度.计算机行业,学无止境,一起加油吧!
以上为个人对技术发展的一点小见解,如有不好的地方,希望大家一起来讨论。