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

原创
移动开发
当一个个小案例被成功的敲出来时,那便是开发者最大的成就。尝试用Java写个小游戏,锻炼了Aris的编程能力,这也是他真正踏上编程路的开端。

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

[[185079]]

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拍照完返回时触发的回调事件该如何实现,就此问题当时跟其他成员讨论过,结果定下了一个共同适用的方案,

  1. 调用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点编程经验,分享给初学者:

1、写代码时要注意,遍历Map的方式有很多,通常场景下需要的是遍历Map中的Key和Value,那么推荐使用的效率***的方式是:

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

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

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

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

工作中体现价值

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

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

51CTO开发者QQ交流群 370892523

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

【编辑推荐】

责任编辑:何星 来源: 51CTO
相关推荐

2017-07-03 14:39:41

开发者故事

2016-12-30 16:43:53

开发者故事

2017-11-28 14:15:38

开发者故事

2017-03-21 11:19:57

开发者故事

2017-01-18 16:37:43

开发者故事

2017-01-05 15:30:59

开发者故事

2017-03-01 15:57:48

开发者故事

2017-01-11 17:25:23

开发者故事

2017-01-10 14:59:03

开发者故事

2017-09-15 11:39:47

2017-01-16 17:24:08

开发者故事

2017-01-19 13:40:56

开发者故事

2017-01-18 11:07:20

开发者故事

2017-07-06 14:59:27

2018-07-04 17:42:58

开发者故事

2017-01-13 16:36:29

开发者故事

2017-03-24 16:43:09

开发者故事

2017-06-09 16:27:40

开发者故事

2017-04-25 15:39:30

开发者故事

2017-10-23 13:15:51

点赞
收藏

51CTO技术栈公众号