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

简化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方法等等

    el表达式的作用 简化页面java代码

    el表达式的作用 简化页面java代码

    jdk1.8windows免安装版本

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

    JAVA过滤器标准代码

    关于JAVA过滤器的编写,和一些要求!代码精简,方便使用

    Guava-18.0是一个功能强大的Java库,用于简化Java编程和提高代码质量

    Guava-18.0是一个功能强大的Java库,主要用于简化Java编程和提高代码质量。通过使用Guava-18.0提供的各种实用工具和功能,开发人员可以更快速地编写可靠、可维护的代码,并减少错误和漏洞的出现。Guava-18.0适用于...

    Smo算法简化版java代码

    自己写的,有运行截图

    JSTL标签库-tomcat10-简化JSP中java代码

    JSTL标签库-tomcat10-简化JSP中java代码

    JAVA毕业设计之springboot毕业生信息招聘平台项目(springboot完整源码+说明).zip

    在该项目的开发过程中,还使用了一些辅助技术和工具,如Lombok简化Java代码、Swagger生成API文档、JUnit进行单元测试等,以确保项目的稳定性和可靠性。总之,这个项目不仅是一个功能完整的毕业生信息招聘平台,也是...

    lombok的jar包.zip

    lombok.jar包,适用于eclipse和sts的lombok插件,Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器...

    lombok-plugin-0.28-2018.2.zip

    Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现...

    IDEA插件-lombok-plugin-0.28-2019.3.rar

    Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    lombok-plugin-0.23-IC-2017.3.zip

    lombok插件,inteliji插件,Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且...

    ibeacon三点定位demo(java代码)

    程序采用Spring框架,简化了JDBC和RMI的样板式代码,并配置了Druid数据库连接池,同时,为了满足高并发的需求,采用了NIO框架Netty,更好地支持大量终端同时定位。程序已经Maven化。 github地址以及使用说明在压缩包...

    Java简化臃肿代码之Lombok

    NULL 博文链接:https://rensanning.iteye.com/blog/1930853

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    MeyboMail Web(Java)开源简化_meybomailweb源代码下载

    MeyboMail Web(Java)开源简化_meybomailweb源代码下载 MeyboMail Web(Java)开源简化_meybomailweb源代码下载 MeyboMail Web(Java)开源简化_meybomailweb源代码下载

    Java代码生成器

    帮助Java开发人员简化开发步骤,提高开发效率 工具特点: 1:只需要录入一个数据表名,即可为为其生成Structs文件,Ioc文件,Jda文件等一系列文件代码 2:工具支持代码保存功能,即可以将生成后的代码一次保存进您...

    MeyboMail Web 是一个基于 Java 的开源邮件发送系统,旨在简化 Java 毕业设计方案

    MeyboMail Web 是一个基于 Java 的开源邮件发送系统,旨在简化 Java 毕业设计方案。该系统提供了强大的邮件发送功能,包括群发、邮件合并、邮件追踪等,帮助毕业生快速构建一个高质量的邮件发送应用。 MeyboMail Web...

Global site tag (gtag.js) - Google Analytics