Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在。

有超过30亿的设备是运行在Java之上的。根据Oracle的统计数据,光是使用中的Java Card就有有50亿。

超过900万程序员选择使用Java进行开发,它是最受开发人员欢迎的语言,同时也是最流行的开发平台。

这次小千给大家带来的是几个大神20多年的经验总结出来的。个人感觉最有用而又偏执的8项Java编程技巧,请看!

1、为代码添加注释

每个人都知道这一点,但不是每个人都会这么做。你有多少次“忘记”添加注释了?确实,注释不会为你的程序增加任何函数功能。但是,有多少次,看到2周前写的代码,你都记不起它是干什么的?

你很幸运,那些未注释的代码是你自己写的,你脑海中还会有残存的印象。非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句谚语说的好:“有来有往,互惠互利”,因此程序员应该体谅彼此,给你的代码加上注释。

2、不要发明你自己的框架

不夸张地讲,已经有几千个框架存在了,大多数还是开源的。很多框架都是极完美的解决方案,并已被用到成千的系统中。我们只要关注新的流行的框架,至少表面上要熟悉一下。

一个最成功的、也是被广泛使用的例子是Struts框架,这个开源的web框架是建立web系统的极佳选择,不要试图构造你自己的Struts版本,会累死的。但你必须记住第2条戒律 —— 不要把简单事情复杂化。如果你要开发的系统只有3个界面,就不要用Struts. 对于这样一个系统,没有足够的需要被“控制”的东西。

3、把字符串常量放在前面

通过把字符串常量放在比较函数equals()比较项的左侧来防止偶然的 NullPointerException 从来都不是一个坏主意,就像这样:

这是毫无疑问的,把一种表达式转换成另一种更好的表达式,并不会失去什么。只要我们的Options是真实存在的。

4、不要相信早期的JDK APIs

Java刚出现的时候,编程一定是件很痛苦的事。那时的API仍然不够成熟,你可能曾经遇到过这样一段代码:

看起来很奇怪对吗?也许吧,但是看看这个Javadoc:

“如果抽象路径名表示的不是一个目录,那么这个方法返回null。否则返回一个字符串数组,其中每个字符串表示当前目录下的一个文件或目录。”

是的,建议再加上判空检查,以确保正确:

糟糕!前者违反了Java编码中10个微妙的最佳实践的规则#5和#6。因此一定要记得判null检查!

5、Drop to Frame

适用于调试阶段。调试期间,可以重新跳到调用堆栈框架的开始处执行,并且变量值也会回到最初。

根据回档调整堆栈的深度,这个功能的主要用途是所有变量状态可以快速回到方法开始执行时候的样子,

然后你可以重新进行一遍一遍执行,这样就可以在你关注的地方进行多次调试,

但是在执行过程中也会产生一些副作用,比如插入到数据库里面的数据是无法删除的!

6、不要“硬编码”

由于时间紧迫,开发者总是会忘记或故意忽略这一条。然而另一种可能是,遵循这条戒律,我们就不会陷入“时间紧迫”的困境。定义一个static final变量,增加一行代码,又能花多长时间呢?譬如:

现在,每次需要比较字符串“ABC”与某个变量的时候,我们只要引用 A.S_CONSTANT_ABC即可,而不必记住它本身是什么。对这个常量的修改也非常方便,改一个地方即可,而不必在全部代码中查找。

7、注意图形用户界面

论听上去多荒谬,但有一点我注意过多次了:图形用户界面对于商业用户而言与程序功能及执行效率一样重要。GUI对于应用程序的成功至关重要。

IT管理者常常忽略GUI的重要性,很多公司为了省钱而不雇佣Web设计人员,而这些设计人员有足够的经验来设计“用户友好”的应用软件。 Java程序员不得不依赖他们有限的HMTL知识。我见过非常多对“计算机友好”而非对“用户友好”的应用程序,同时精通软件开发和用户界面开发的开发者非常少见。 如果你是一位不幸被指派做界面开发的Java程序员,你要遵循下面3条规则:

8、所有的变量和参数都用final声明

就像我说的。我不相信自己不会无意间重写了某个值。这么说来,我的确一点都不相信自己。因为:

这也是为什么所有的变量和参数都用final声明的原因。

当然,这些技巧对于有一些Java基础的人来说是非常有用的,对于0基础的朋友,还是要从最基础的学起,一步一个脚印跨越Java的高峰。希望以上的分享能帮到大家!

本文来自千锋教育,转载请注明出处。

Java培训分享:8个优秀的Java编程技巧相关推荐

  1. java培训分享:学习java开发的优势是什么

    想要进入到互联网行业的小伙伴,经常比较纠结学那个学科比较好,目前java.web前端.Python等都是非常热门的行业,前景也是比较好的,选择java学科的人比较多,那么学习java开发的优势是什么呢 ...

  2. java培训分享:java培训架构师学习线路图

    本期java教程分享主要是讲解关于java培训架构师方面的内容,主要针对java架构师的学习线路图进行一个知识点的概括,下面来看看学习java架构师都需要了解哪些内容吧. java培训分享:java培 ...

  3. java培训分享:学习Java需要什么软件

    在参加java培训过程中学习java技术,需要用到很多辅助工具,这些辅助工具是具有多功能性和实用性的,从代码构建到bug压缩.学习这些工具可以帮助您提高代码的质量,并成为一个更高效的Java开发人员. ...

  4. Java培训分享:零基础怎么学习Java?

    最近几年,有很多小伙伴都比较关注"零基础怎么学习Java?"这个问题,因为很多小伙伴都是从其他行业转型来学Java的,都很担心自己学不会,那么来看看下面的详细介绍吧. 零基础怎么学 ...

  5. bigdecimal 等于0_好程序员Java培训分享BigDecimal的用法

    好程序员Java培训分享BigDecimal的用法,如果对数值结果精度要求很高,那么就可以使用BigDecimal,BigDecimal可以精准的控制小数点后面的数字 Java培训 1. 实例 Big ...

  6. java 保留html_好程序员Java培训分享Java包是什么?

    好程序员Java培训分享Java包是什么?在Java中的包是一种封装一组类.子包和接口的机制,可用于组织一组相关的类和接口.从概念上讲,我们可以将包视为类似与计算机上的不同文件夹:可以将HTML页面保 ...

  7. 按照姓名升序排序的代码_好程序员Java培训分享Java集合的两种排序方法

    好程序员Java培训分享Java集合的两种排序方法,Java集合的工具类Collections中提供了两种排序的方法,分别是: 1.Collections.sort(List list) 2.Coll ...

  8. 好程序员Java培训分享20个Java程序员基础题

    好程序员Java培训分享20个Java程序员基础题1.谈谈final.finally.finalize的区别 final用于声明属性,方法和类,分别标识属性不可变,方法不可覆盖,类不可继承. fina ...

  9. 好程序员Java培训分享如何快速入门Java编程

    好程序员Java培训分享如何快速入门Java编程,作为老牌编程语言,Java拥有广阔的市场应用,企业对Java人才的需求一直居高不下.有很多非专业.零基础的人想要学习Java却不知道怎么快速入门,接下 ...

  10. 好程序员Java培训分享Java初学者必读

    好程序员Java培训分享Java初学者必读,近年来各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java.因此,也是吸引了 ...

最新文章

  1. WPF入门(三)-几何图形之不规则图形(PathGeometry) (2)
  2. 可扩展且侵入性最小的脑机接口平台
  3. HIVE 在执行大量数据JOIN的时候,容易产生内存不足的情况
  4. MySQL之DML(操作)语句
  5. Java IO学习第二天部分详解
  6. R语言领跑 大数据岗位霸占IT薪酬榜单
  7. Mybatis 查询出来的数据数量正确,但是具体数据为null
  8. 联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码
  9. 教程:如何制作一个多功能U盘
  10. web页面性能检测工具Lighthouse
  11. python清除所有变量_python清理变量
  12. Apple Swift学习资料汇总
  13. 【vss清理or销毁已删除文件】SourceSafe如何销毁已经删除的文件
  14. Graham算法解决凸包问题
  15. 【docker】macOS系统下安装并配置阿里云镜像加速
  16. MATLAB特殊矩阵的构造
  17. java 编辑PDF 文件,或者填充数据
  18. php函数几种写法,PHP让人不知道的匿名函数的几种写法(附代码)
  19. RTSP取流之海康威视
  20. 【贼好理解!!】C++ list链表常用成员函数讲解

热门文章

  1. 新加坡科技设计大学(SUTD)招收计算机视觉方向全奖PhD学生
  2. 最小熵原理:“物以类聚”之从图书馆到词向量
  3. Java反射:框架设计的灵魂
  4. yii2 java_YII2 自定义日志路径
  5. 【SpringBoot集成ElasticSearch 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(配置+增删改查测试源码)【推荐使用】
  6. Java与ElasticSerach的整合
  7. OGNL中#和%的用法
  8. springboot参数校验,对象的某属性校验
  9. jQuery使用详解
  10. 【已完结!】Java基础--学习笔记(零起点打开java世界的大门)--博客汇总表【附:视频、工程源码、资料、详细笔记】