为何我没有写具体语言呢?语言只是一种工具,是为了更好解决实际问题的。
计算机专业一名普通男生,语言方向是Java,临近毕业,没有选择考研升学,或者拿出几个月时间疯玩来个说走就走的毕业旅行,而是选择实习工做,目前在本地省电视台实习,我不是什么大牛,我只是个"愚笨"的小菜鸟。
日后打算当博客写,并记录本身学习成长之路,先开始从设计模式部分写起,本人也还没学完。不按期更新但必定会坚持,文笔很随便,如有不足之处,请指出不足之处,90度鞠躬~~~
写下这篇文章目的很单纯:
1:练练本身写做能力(怕是这个理由本身都不信)
2:想为本身设计模式的学习之路记录下来,这将是个人开发生涯的起点
3:写此文的2个月前,我对开发的思惟很是的"学校化",我尽量将我本身的学习感觉写下来,但愿能帮助和我有相似经历的朋友一点建议。
4:但愿本身能成为一名优秀的开发人员前端
正文开始:
工做以前“不懂”为何那些老程序员老喜欢把简单的功能每每作的那么“复杂”。一个方法这里一个接口,那里一个抽象类,而后方法这里跳哪里跳看的人眼晕,但每每实现一个复杂的功能好像代码量又很少似的。程序员
我真正开始作实习项目是在本暑假的第一个月末。
第一个月带个人程序员前辈就是让我摆正浮躁心态,前辈倒也不客气,说我目前是达不到实际参与工做的水平,并且还说日后的一段时间须要我自学,(当时个人心是奔溃的)是的,那时候的我仍是在“依赖”校园编程思惟的,刚开始头2礼拜便开始在电脑上装虚拟机使用Linux系统,熟悉基本操做指令,并学习SVN实现Windows端和Linux端的文件传输和用户权限分配功能,以及在Linux下安装配置JDK,Tomcat,Oracle环境,除了SVN前辈给了我必定的指点以外,其他的遇到问题只能问度娘了,固然最后我都是作完了,并获得前辈的承认。第三周开始给我讲解了企业开发的一些基本流程框架,好吧我也没记住多少。。。。。后来前辈开始跟我讲解CMS,这就是我实习的第一个项目了,刚开始跟我讲了CMS的功能实现都具体有哪些(讲真别去百度,我当时百度上找CMS具体内容,我前辈说都有误的,实际定义请参考百科里CMS词条),而后我开始写思惟导图和用visio写流程图,这是实际开发以前必作的一项工做,每每不少时候你须要交互的客户并不懂技术,思惟导图的做用就是让客户和开发组员们能很清楚的理解项目需求和意图以及数据库结构的搭建,流程图就是功能具体实现步骤了,让开发人员了解具体开发或维护哪些地方。我当时是修改了3次,到第三次时候前辈下降了要求:“你就先用这样方式写,但想的仍是简单了点,日后经验慢慢多了就天然理解了,你有的地方本身设了坑就先本身跳,得吃亏。”这话我记得清清楚楚...第四周开始用一周的时间写好了项目前端静态页面,和用SSH框架写好了一个用户操做部分,基本CURD操做,而后让前辈来看效果,好吧他只看了代码,根本不关心效果,各个类看了看,直接就说“哎呀,你这代码都不通用啊,没有通用性...”what??啥是通用性?而后我那天下午他花了20分钟给我看他早些年刚工做没多久时候写的C#代码(前辈是.Net出身,目前用是个我没据说的语言)而后给我讲解复用性代码和设计模式的重要性,这些是学校老师不会教的东西,对于当时的我来讲,个人代码观完全的崩塌了。数据库
那天下午我开始从新思考本身写代码的心态,之前本身在学校写代码都是为了实现而去实现,从没考虑过写的代码是否能复用,结构是否清晰易懂,是否安全灵活,是否能够有很好的拓展性和弹性,不少东西都没有考虑到,因此我如今深有体会,编程每每就是越学越“糊涂” ,也每每是四个阶段:不知道本身不知道,知道本身不知道,不知道本身知道,知道本身知道。因此我暂时中止了cms项目,我如今须要提高本身代码质量,写的代码要有可复用性,可拓展性,因此我开始了设计模式的学习编程
第二个月的第一周5天工做时间加1天周末时间所有用来学习设计模式,这里我参考了《Head First 设计模式》这本书,并下载了配套源码作参考,虽然都只是简单输出功能,但优秀程序员写的代码很是清楚,理解起来也不费劲,可是我想说的是,设计模式是一种思惟,是前人的经验总结和精华的浓缩,而不是"模板",并不能彻底去套用,因此用好设计模式,我还需更多的练习,这也是我开始写博客的初衷,目前我已经开始慢慢用我学到的设计模式“思惟”去改进个人项目了。方法也再也不是具体实现了而是经过调用形式,实现方法单独放,怎么说呢?就是类和类之间依赖度下降了,解耦了,即使须要拓展新的功能,也比较方便,并且也不太破坏其余的方法。虽然我认为本身进步比较慢,但好在本身肯花功夫去打磨本身。设计模式
感谢你看到这里,若你是个有经验的开发者的话,如有不足望给予指点,若你和我同样刚进入开发岗位的初级程序员或还在学习的学生,但愿你摆正本身的心态,虚心向有经验的老程序员前辈请教,并问问本身,本身是否真的合适去走程序员这条路吗?若不想轻言放弃,那么设计模式必然是“菜鸟”进阶的选择,说的直白点,连代码都写很差,再去学所谓很牛X的东西也没有用,就像盖房子同样,打好地基是很重要的,很快我将放出第一个设计模式内容。生命不息,编程不止!安全