`
rensanning
  • 浏览: 3548790 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38151
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607316
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682345
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89356
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401858
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69695
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91723
社区版块
存档分类
最新评论

简化Java代码

    博客分类:
  • Java
 
阅读更多
样板代码Boilerplate Code的定义:https://en.wikipedia.org/wiki/Boilerplate_code

任何开发语言都存在样板代码的问题,相比之下Java语言的样板化更高。比如可能用10行代码其他语言就能实现的功能,用Java实现需要100行以上。可以Google一下“Reduce Boilerplate Code in xxxx”。

Java语言自身也比较保守,比如没有Python和Ruby的Meta-Programming能力。

JavaIDE都能定义模板后生成代码,也可以借助一些工具来自动化生成一些样板代码。但是问题在于生成的代码依然存在于工程中,需要维护。

这里说的样板不是指 HTML5 BoilerplateSpringSide 这些示例工程,而是项目代码中具体编写的代码。

模板Template:只包含布局或样式
骨架Skeleton:
样板Boilerplate:还包含具体的文字图形等数据

1)语言新特性
比如:Java7的try-with-resources、Java8的Lambda/Stream等。

那些丑陋的Java API http://rensanning.iteye.com/blog/1843545
20年Java发展历程(1995-2015) http://rensanning.iteye.com/blog/2195622

2)Project Lombok
为了封装类的成员变量,JavaBean规范需要为类定义getter和setter方法。但很少有人在这两个方法中写一些有意义的代码,但这两个方法还不可少,因为依据规范大量的框架还需要通过这两个方法来操作成员变量,这样就会在工程里发现大量的无意义的getter/setter方法。

Lombok基于注解Hack编译过程(javac/AnnotationProcessor、Eclipse/JavaAgent)来自动生成代码。

Java简化臃肿代码之Lombok http://rensanning.iteye.com/blog/1930853

同样针对Android开发也有类似的工具:AndroidAnnotations

3)封装 Encapsulate
OOP三个基本特征:封装、继承、多态中的封装就是为了共用代码。编写共通组件也是开发中相当重要的一部分。

4)反射 Reflection
大部分开源框架都通过反射来调用工程里的代码。

5)重构 Refactoring
Rename、Extract Method、Pull Up/Push Down

6)开源框架 Frameworks
Google GuavaApache Commons等。

7)依赖注入DI

8)其他
Spring MVC的注解式配置

参考:
https://www.infoq.com/articles/Concise-Java
分享到:
评论

相关推荐

    lombok简化java代码

    lombok简化java代码

    lombok 简化java 代码工具jar包

    该工具类可简化 java类的代码 比如 构造函数 set get方法等等

    java代码自动生成工具

    Java代码自动生成工具是一种高效开发辅助软件,它能够根据预设的模板或规则,自动创建出符合特定规范的Java源代码。这样的工具极大地提升了开发效率,减少了程序员在编写重复性结构化代码上的时间,使他们可以更加...

    Java2Pas Java代码转pas代码

    此外,如果Java代码中包含了一些特定于Java平台的API调用,这些部分在Pascal中可能需要替换为相应的函数或库。 总的来说,Java2Pas是一个方便的工具,能够帮助开发者跨越Java和Pascal之间的语言障碍,提高代码复用...

    Java2Pas(Java代码转换成Delphi代码)

    总的来说,Java2Pas工具是Java和Delphi开发者之间的一座桥梁,它简化了两种语言间的代码转换工作,促进了跨平台的代码复用和学习交流。然而,使用Java2Pas时需了解其限制,并准备进行必要的手动调整,以确保转换后的...

    Smo算法简化版java代码

    在这个“Smo算法简化版java代码”项目中,我们可以期待看到以下几点内容: 1. **SVM基本概念**:项目应该会介绍SVM的基本原理,包括最大间隔、支持向量和核函数等概念。在Java实现中,这些概念会体现在算法的各个...

    c#代码转java代码工具

    综上所述,使用"C#代码转Java代码工具"可以大大简化跨语言的转换工作,但需要注意的是,自动转换工具可能无法完全替代人工审查和修改。开发者仍然需要对生成的Java代码进行检查和调整,确保其正确性和效率。此外,...

    java源代码查看工具.zip

    对于那些需要频繁查看或分析Java代码的开发者来说,这是一款不可或缺的辅助工具。 在实际应用中,此工具可以广泛应用于以下场景: 1. **逆向工程**:当没有源代码的情况下,需要分析或修改已有的二进制Java程序,...

    java代码快捷编译运行工具

    Java代码快捷编译运行工具是针对初学者设计的一款实用程序,旨在简化Java编程过程中常见的编译和运行步骤。对于刚接触Java编程的开发者来说,通过命令行(CMD)进行源码的javac编译和java运行可能会感到繁琐,而这款...

    java源代码,java源代码

    13. **Lambda表达式**:Java 8引入的Lambda表达式简化了函数式编程,使代码更加简洁。 14. **流(Stream)**:与Lambda表达式一起,Java 8引入了流的概念,用于处理集合数据,支持并行操作。 15. **Spring框架**:...

    java 代码生成器

    Java代码生成器是一种高效开发工具,它可以帮助程序员自动化地生成大量的基础代码,从而极大地提高开发效率,减少重复劳动。在Java开发中,特别是在企业级应用系统构建时,大量的数据访问层(DAO)、服务层(Service...

    jdk1.8windows免安装版本

    1、Lambda表达式:Java 8引入了Lambda表达式,它是一种简化Java代码的方法。它允许开发人员将函数作为方法的参数传递,从而减少代码的冗余。 2、Stream API:Java 8中引入了Stream API,它允许开发人员通过一组流式...

    简化Java开发

    在文件名"SQLiteDialect.java"中,我们可以推测讨论的是与SQLite数据库相关的Java代码,可能涉及ORM(对象关系映射)框架,如Hibernate或MyBatis,它们允许开发者使用Java对象操作数据库,而无需编写SQL语句。...

    Java 代码转VB VC的小工具 特别版

    这个"Java 代码转 VB VC 小工具特别版"显然提供了一个方便的解决方案,帮助开发者将已有的 Java 代码转换为 VB 或 VC 可读的代码。 转换工具有其局限性,因为每种语言的语法结构和编程理念都有所不同,自动转换可能...

    基于Java简化的JDBC设计源码NuttyKernel

    NuttyKernel是一个简化版的Java JDBC设计源码,由168个文件组成,其中包括138个Java源文件、10个XML配置文件、7个JAR包文件、4个Markdown文件以及其他辅助文件,旨在简化Java代码以增强JDBC支持。

    Lombok 1.18.28插件

    Lombok是一个Java插件,它的主要作用是简化Java代码的编写,减少重复代码,提高开发效率,它通过注解的形式自动生成一些常见的代码,如getter和setter方法、构造函数、toString、equals和hashCode方法等,从而减少了...

    解决Idea安装lombok插件不兼容问题.docx

    Lombok是一个非常实用的Java工具库,有效地简化Java代码的冗长。 它通过注解如@Data可以直接为Java bean在编译期动态地生成字段的getter/setter方法, 使用注解@NoArgsConstructor 和@AllArgsConstructor 为Java ...

    SQL2JAVA-java字段串代码拼接小工具

    标题中的“SQL2JAVA-java字段串代码拼接小工具”是指一个辅助开发的软件,它主要功能是帮助程序员便捷地在Java代码和SQL语句之间进行转换,特别是处理字符串拼接的问题。在软件开发过程中,尤其是在数据库交互时,...

    Jocky混淆JAVA代码(保护你的JAVA项目)[参照].pdf

    【Jocky混淆JAVA代码(保护你的JAVA项目)】 Jocky是一款专为Java开发者设计的混淆编译器,它的主要目标是保护Java代码不被轻易反编译,以确保软件的知识产权。Java源代码(.java文件)编译成.class文件后,由于其...

    eclipse整合lombok文档

    Eclipse 整合 Lombok 文档 Lombok 是一个 Java 库,用于减少 Java 代码中的 boilerplate 代码。它可以自动为 Java 类生成 getter、setter、equals、...通过使用 Lombok,可以大大简化 Java 代码的编写,提高开发效率。

Global site tag (gtag.js) - Google Analytics