学会大神总结的这8个Java编程技巧,绝对事半功倍

  关注我,你的眼睛会辣    

来源|网络

编辑|猿姐


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能像Scala语言一样,人们在所有地方都直接用 val 来表示变量,甚至都不考虑易变性,除非明确需要的时候他们才用 var 来声明变量,但是这样的机会特别少。


猿姐瞎BB

编程时的强迫症有时候看起来会很奇怪,会使得代码往往比必需的还要冗长。你可能会想,“啊,这种情况永远不会发生!”,但是正如我所说的,在经历了20年左右的编程生涯后,你不会想要再去修正那些只是因为编程语言的古老和固有缺陷而导致的愚蠢而不必要的bug了。


本文中总结了Java程序员最应注意的8个技巧。仅仅知道是不够的,还要遵循它们。希望这些守则能让我们做更加专业的程序员。 
不是每个人都能成为高手,但是不努力,就算有再高的天分,也白痴一个!

广告


牛B程序猿


孤独地写程序时,你需要一些陪伴,一些快乐,一些”干“货。

扫码关注!

Back To Top