学会敲键盘,能够实现盲打

程序员写代码,是通过键盘将程序输入到编辑器中,而码子的高效,能够让自己的思路更流畅一些。如果想从事IT工作,那面打字就必须得会,并且,如果还一个一个字母去找,上司就会认为是一个低级程序员。我在上大一的时候,也是敲键盘,需要一个字母一个字母的去找,而想要敲一个程序,至少需要十多分钟,就十多行代码,敲完之后,根本不记得程序的逻辑,所有的经历都放在了找字母上。等自己买了电脑之后,下载金山打字软件,不断练习,也终于在之后,能够实现盲打了。平常的时候,不会记得字符放在哪个地方,但当手指放在键盘上时,想要的字母都会自动浮现在脑海中,这样肯定也是敲多了,熟练了。对,敲多了也能够熟练,但是,在前期的时候,非常多的程序需要敲的时候,如果敲字速度不够快,并不能实现一定程序的盲打,那非常耗时耗经历。在入门之前,先练好打字,这个算是最基本的事情了。

抄代码

在最开始的时候,都不知道程序是什么意思,这些单词组成之后就能够运行起来,很神奇啊,而想要思考其中的逻辑,先要尝试的敲一遍,让自己的大脑对这些代码有一些映象,然后在慢慢推敲这些单词表示什么意思。在以后很长一段时间,都是抄代码。因为本人比较笨,大部分程序都理解不了,只能先抄完,然后一行一行代码再去理解,直接明白这些代码的意思,并且对这些代码有了一个映像,甚至一些代码会背下来,在需要的时候使用。在这个时候,尽量不要去复制粘贴,因为这样一来,根本就不知道这些代码是什么,只知道这行代码能够运行起来,如果没有运行起来,就会很烦躁。想要真正的懂,就必须要敲,至少那些大神,都是一行一行代码出来的,等之后了,重复的代码会抽象,会有自己的代码库,那个时候复制粘贴,是快速完成工作,而且那些代码已经知道表达什么意思了,不必要再去敲。

入门看基础的书籍

我入门Java的时候,买了一本Java核心第一卷,然后将其中的代码都敲了一遍,慢慢的去明白其中各个变量,我稍微理解的快一些,并且能够通过书籍去理解,因为在大一的时候学习了C语言,有了计算机的一些基础,但是这些基础还不能完全让自己轻松的面对Java这么语言。如果没有基础的朋友,我建议找网上找那些Java基础的视频来看,然后熟悉对Java有一个基础的认识,然后再看书,再将书籍中的内容敲一遍,熟悉Java这么语言。 视屏加书籍,然后就是练手,这个时候的自己,虽然有一点认识,但是所有的代码都还只能抄,或者是靠背下来。我在入门Java那两三个月的时候,就是抱着电脑,对照着书籍来敲,或者是在网上找那些程序来敲,这个阶段就是熟能生巧,厉害的人除外。并且在这个过程中,将Java的基础熟练了,能够知道了通过变量和方法组成一个简单的程序。

找项目来练手

现在培训班也都是按照这样的方式进行,学习基础,练习一两个项目就出山了。自己没有经济实力,或者相信自己有自学能力的,在网上找资源,找项目来练手,这样能够锻炼自己动手找资源的能力。虽然这个过程会辛苦一些,但是会对将来有一些帮助,至少能够自己独立去找资源完成项目,毕竟之后要学习内容特别多,不可能有一个人手把手的教,不可能有一个可以经常请教的人,唯有靠自己,自己动手丰衣足食。 我找的项目练手,是那个网上购物商城,对照着视频上的代码,然后一点一点去敲,在最开始的时候,搭环境就花了很长时间,没有人教,只能自己搭,但是中间总会出现一些问题,导致心非常累,好在不断找解决的办法,也算是解决了。然后就是对照着敲完,那个项目熟悉了数据库和Javaweb项目,而做完这个项目,自己也学习了Java有半年时间了。 这个阶段,就需要多找项目来练手,现在网上的程序还是非常多的,前期尽量找带视屏的项目,因为这个时候,没有一个完整的概念,如果再github上找到一个项目,会不知道从哪里下手的。

写好注释

在之前的学习中,是否有人说,要写好注释。不知道在看代码的时候,会不会先去看一个方法的注释呢,如果有了一行注释,在去理解这个方法的时候,会不会更简单呢。好的程序,只需要通过变量名,方法名就能够知道表达什么意思。但是出于中国这个大的环境下,英文水平不高情况下,写好注释是对自己之后在看代码时,不在看细节,而直接看注释就明白,其他人看这段代码时,看了注释之后,理解代码会更容易。 在Java源码里,很多方法都会有一行注释,标识该方法表达了怎样的含义,如果方法的逻辑复制,会标出1,2,3.我个人认为,每个方法接口,都应该都一个简单的话来标识该方法或接口的意思。并且该注释尽量的使用中文,因为大部分去看这段代码不是自己,就是自己的同事,而且这个同事几乎就是中国人,写上英文增加了之后阅读的难度,而且英文不好时,那段英文表达的意思到了最后,都不知道是什么意思了。还有很多关键的地方都必须要写上注释,来表达自己使用时,为什么这样写。在我的代码中,特别是公司的代码,每个方法都将会有一行注释,而controller层中的代码,都将写好步骤注释,部分认为重要的地方也将注释代码。养成这样的习惯之后,每次修改和重构代码时,一下子就能回忆起当时怎么样思考的,而看其他人没有注释的代码的时候,自己会特别痛苦。有一点需要强调的是,不是非常详细的注释,能够表示大概逻辑,尽量精简语句。

这里可以简单列举一些在那些地方需要注释

  1. 实体类上,每个字段都需要注释
  2. 接口和方法,一段简短的话来简述其内容
  3. 某些方法上的关键字段,可能产生歧义的地方,之后可能遗忘但非常关键的地方。
  4. 逻辑代码标识步骤,清楚阐述整个逻辑

我java学习时的模样(一)的更多相关文章

  1. 我java学习时的模样(二)

    去掉自己浮躁的心 工作了三年,见识过高山,也见过低估,高山同大神一起共事,低估是几家特别烂的外包公司,现在有了另一种心境.已经开始重视自己,去掉当初浮躁的心. 毕业的一两年内,是人成长特别快的时期,也 ...

  2. 我Java学习时的模样(三)

    读Java源码 平常使用Java的时候,那些集合类使用起来很顺手,但是有没有想过这些集合内部的实现原理是怎样的,它的添加移除都有哪些操作? 有了一些工作经验之后,必须要读一读Java包中的源码,需要知 ...

  3. JAVA学习资源网站

    中文java技术网——http://www.cn-java.com/ 灰狐动力(http://www.huihoo.com/)—— 该站点有许多的开源的项目的介绍和学习,涉及操作系统,数据库等许多方向 ...

  4. java运行时内存模式学习

    学习java运行时内存模式: 各区介绍: 方法区(线程共享):用于存放被虚拟机加载的类的元数据:静态变量,常量,以及编译和的代码(字节码),也称为永久代(所有该类的实例被回收,或者此类classLoa ...

  5. JVM学习笔记:Java运行时数据区域

    JVM执行Java程序的过程中,会使用到各种数据区域,这些区域有各自的用途.创建和销毁时间.根据<Java虚拟机规范>,JVM包括下列几个运行时数据区域,如下图所示: 其中红色部分是线程私 ...

  6. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  7. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  8. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  9. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

随机推荐

  1. php二维数组去除重复值

    <?php //二维数组 $test["aa"] = array("id"=>"17","name"=> ...

  2. arcgis android 10.2.5开发环境配置

    android里要添加arcgis android 的支持,其实本质是添加了jar包,so库,清单文件里申请了权限而已. 插件是为了方便创建arcgis android工程,然后并没有什么卵用. ar ...

  3. 双系统Grub引导下恢复windows引导的方法

    此方法适用于windows系统正常,linux和windows 双系统下恢复windows系统引导.需要使用windows安装u盘 1. 启动至windows安装u盘,点击修复计算机 2. 进入命令行 ...

  4. Session概述

    session即HttpContext.Session 属性,命名空间System.Web 我们都知道,Cookie信息全部存放于客户端,Session则只是将一个ID存放在客户端做为与服务端验证的标 ...

  5. 如何防止Unity3D代码被反编译?

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 网易云易盾移动游戏安全技术专家陈士留在2018年Unity技术路演演讲内容中对这个问题有过比较详细的介绍,摘录如下: 防止Unity3D代码被反编译 ...

  6. RabbitMq初探——Hello World

    HelloWorld 前言 这里我们弱化broker内部构造.将整体分为三部分. P:producer.生产者. C:Consumer.消费者. queue:队列. 后面的代码都依赖于 the php ...

  7. WDF(Windows Driver Frameworks)驱动框架源码!!

    微软官方提供源码:https://github.com/Microsoft/Windows-Driver-Frameworks

  8. 如何在VMware Workstation11的Windows Server 2008 R2中安装XAMPP?

    我在VMware Workstation11的Windows Server 2008 R2打算安装XAMPP,但是总是有问题,经过两天的不懈努力,终于实现了,下面我具体说一说我遇到的问题和解决方法! ...

  9. DIOCP (一) DIOCP常见问题。

    1,IOCP是什么? 答:IOCP是windows下的服务器技术,并不是所有windows都能使用IOCP,只能在支持IOCP的windows操作系统上使用. 2,DIOCP是什么? 答:DIOCP是 ...

  10. “全栈2019”Java第四十一章:static关键字

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...