挨踢部落故事汇(11):编程起步从0到1

Aris在大学期间对编程产生了兴趣,当时他的班主任是教Java的,看着老师用代码写出一些他们作不到的事,Aris便开始以为编程是一件很牛逼的事情。从那时起,他就沉入到计算机的世界里,每周都会去图书馆借一些书回去,边对照书边敲代码执行,逐渐一个个小案例被成功的敲出来了,顿时他心生满满的成就感。但一味的跟着书编程,并不会一直运行成功,有一次由于书本的某个小错误,Aris没有发现,致使他执行不出结果,因而他经过百度、Google各类查询,最终找到解决方法。此后Aris以为单单跟着书上敲是不行的,还须要本身灵活变通,后面的学习生涯也是这样一每天积累的。前端

Aris·Java开发

Aris·Java开发编程

自学Java编写小游戏后端

毕业后的三年间,Aris因为我的缘由,没有从事过任何相关的企业级开发工做,而是在一家IT培训机构担任Java项目助理,好久没接触过Java的他,理论知识在脑海里所剩无几,因此刚进培训机构时,他也是跟着前来培训的学生一块儿边工做边学习,加强本身Bug解决能力,更好的与学生沟通,不论是平常学习仍是生活杂事,都逐一了解清楚,这样方便后期对学生平常管理作优化,在此期间Aris自学了Struts2和Spring和Hibernate这三个比较经常使用的框架,后期由于课程上的改革,研究了MyBatis数据层管理框架。当时Aris学Swing的时候,为了对Swing的应用更为熟练点,他本身尝试写了个<飞机大战>游戏,列举部分代码:前端框架

飞机大战GAME OVER

主程序

敌机

小蜜蜂

 ×××

飞行物

用HTML5实现App和Web项目框架

之因此会选择转开发,由于Aris以为本身的技术水平已经达到一个瓶颈,须要进一步成长,必须接触真正的企业开发才行,因此他毅然辞掉培训机构的工做,投奔软件公司去作Java开发了。初入开发岗,天然免不了过渡期,主要是经过沟通和自学成长的。看老司机写的业务代码,了解项目流程,是Aris首要掌握的。有效代码约5000行,他都一步步理解透彻。2周后Aris接手第一个任务,推翻原生态安卓App,改成时下流行的HTML5语言做为一个升级版,Aris和之前接手过的同事沟通,了解相关的业务需求,期间会使用到MUI这项前端框架。当时除了上MUI官网外,还有Git、51CTO、最代码等各类技术相关的论坛网站查找过案例。因为JS的comfirm方法在调用时,会在标题栏那里显示当前访问的地址,因此找了一下官方MUI文档,看到了MUI有本身从新封装的comfirm,调用mui.comfirm()就不会在标题栏出现当前访问的网址了,这个小问题解决。对于App项目,Aris以为难点在于App拍照完返回时触发的回调事件该如何实现,就此问题当时跟其余成员讨论过,结果定下了一个共同适用的方案,ide

调用var cmr = plus.camera.getCamera()先获取当前设备的摄像头; cmr.captureImage(function(path){},function(error){})而后在调用它的captureImage这个方法 

最后花费很多的时间去编写修改,功能终于实现出来了。第一个项目完成后,他转作Web前端开发了。此次的任务是把公司之前的一个网站前端技术由ExtJS改成用HTML5来实现。由于ExtJS太显商务化了,毕竟如今是互联网时代,项目也应该随时跟进才对。并且页面须要统一适用Layui,Aris继续学习摸索新框架, Layui官网上有充足的案例和标准的文档。改版前的旧网站是用ExtJS来实现页面渲染的,因此也须要了解ExtJS。在前端页面开发中,请求的地址和接收的参数要及时跟进后台的Action来作调整。项目提交给测试师以前,记得把项目中与业务无关的弹出框给注释掉或者删除掉,这些弹出信息只是在开发过程当中为了跟踪方法的调用结果或者期间出现的错误信息,是不须要给测试师看的,以避免测试师看到觉得是什么Bug,因此去掉弹出框会节省不少时间成本。学习

Aris总结3点编程经验,分享给初学者:测试

一、写代码时要注意,遍历Map的方式有不少,一般场景下须要的是遍历Map中的Key和Value,那么推荐使用的效率最高的方式是:优化

public static void main(String[] args)  {       HashMap<String, String> hm = new HashMap<String, String>();       hm.put("111", "222");       Set<Map.Entry<String, String>> entrySet = hm.entrySet();       Iterator<Map.Entry<String, String>> iter = entrySet.iterator();       while (iter.hasNext())  {           Map.Entry<String, String> entry = iter.next();           System.out.println(entry.getKey() + "\t" + entry.getValue());       }  }  

若是只是想遍历一下这个Map的key值,那用”Set<String> keySet = hm.keySet();”会比较合适一些。网站

二、JS不熟练的状况下,能够多看最新版本JavaScript 权威指南,毕竟JS一直都在优化,最新版就能够学习到优化好的知识,有兴趣也能够看老版本,这样能够接触到JS一些底层源码,设计思路是怎样的。如今经常使用的JQuery,想要学习能够去看看《锋利的JQuery》这本书,不论是纸质书仍是电子书均可以,里面有涉及到JQuery各式各样的选择器和插件,一些便捷的方法能够直接拿来使用,加快开发进度。

三、对业务不熟悉,要多跟同事讨论,理解清楚该功能要实现的业务是怎样,不要独自埋头苦干。

工做中体现价值

Aris的领导是前端后端都比较牛的大神,工做期间他获得了很多领导指导和教育,慢慢的他本身负责的内容逐步实现了出来,这使得Aris更加充满信心来应付之后的工做。从App开发到前端框架,Aris获得了锻炼,他以为在一家企业要体现本身的价值,就是看你能完成什么样的工做,任何新任务都是挑战。只相信更好的,不相信最好的,正所谓人无完人!路漫漫其修远兮,愿每位开发者勇敢迈出第一步,编出本身的程序。

若是你也愿意分享你的故事,请加51CTO开发者QQ交流群 370892523联系群主小官,期待你的精彩故事!

相关文章
相关标签/搜索