`
argan
  • 浏览: 129537 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

"下一代java编程风格"

阅读更多

Stephan Schmidt 在他的文章Go Ahead: Next Generation Java Programming Style里里建议的几点编程风格:

1. 使用final,尽量让每个东西都不可变

2. no setters,是为了配合1

3. 集合操作不要使用循环,向FP学习,使用list comprehension

4. 能写一行的代码都写到一行上

5. 使用很多的interface,这和qi4j的"Classes are dead,long live interfaces"相呼应

6. 使用erlang风格的并发

7. 使用流畅风格的方法(每个操作都返回this)

8. DTO不使用getter ,setter,而是使用public的field

-------------

作者认为使用这些风格写出来的java代码会更好。


其实一看上去,就是想让java的编程风格往erlang上靠,其实又何必呢?


这几条,我能赞同的是5,但是都不能太极端,过犹不及嘛!反对2,4,8,其他的看情况而言。


虽然我喜欢erlang的风格,但是硬往java上套是不行的!!


没有好的技术,只有合适的技术;同样,没有好的风格,只有合适的风格。

分享到:
评论
5 楼 mumianiishiwo 2009-08-13  
不错,能做到“在合适的地方使用合适的解决方式”就很了不起了。死套人家的东西有什么用呢?
4 楼 jamesqiu 2009-08-13  
支持第7条
3 楼 JohnnyJian 2009-08-12  
直接用scala算啦
2 楼 l1t 2009-08-12  
就像绑上自己与人搏斗
1 楼 Saito 2009-08-12  
这不是生搬硬套fp么..

     想要什么就直接用就是了.现在还是单语言为王的时代么? . Jvm上都跑多少语言了.

相关推荐

    深入了解 Scala 编程语言

    根据David Rupp在博客中的说法,Scala可能是下一代Java。这么高的评价让人不禁想看看它到底是什么东西。 Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中的每个值都是一个对象,包括基本数据类型(即...

    java在网站开发上的优势

    Java之所以能够在众多编程语言中脱颖而出,成为一种“新一代编程语言”,主要是因为它具备了一系列显著的优势:面向对象、良好的可移植性、与硬件无关性、高度的安全性、内置的并发机制以及优秀的性能等。...

    java2

    - **C语言的特点**:C语言是一种通用、结构化的编程语言,支持过程式编程风格。它的高效性和灵活性使其成为系统编程的理想选择,尤其是在操作系统和嵌入式系统开发中。C语言也是后来许多编程语言的基础,包括C++和...

    Java SE Development Kit 8u411 macOS ARM64 DMG Installer

    1. **Lambda表达式**:JDK 8引入了lambda表达式,这是一种简洁的匿名函数语法,使得函数式编程风格在Java中变得更加容易实现。这对于处理集合和并发编程特别有用。 2. **方法引用**:与lambda表达式配合使用,方法...

    基于java开发的极客学院小程序.zip

    1. **JaveFX**: JavaFX是Java平台上的下一代用户界面工具包,它提供了丰富的图形和媒体功能,使得开发者能够创建出美观且交互性强的桌面、Web和嵌入式应用,包括小程序。 2. **Java Swing**: 虽然JavaFX现在更受...

    基于Java的安卓手机主题的设计与实现.pdf

    - **研究方向**:朱景芝的研究方向为计算机科学与技术,而邱秀荣则更专注于拥塞控制、下一代网络与通信。这样的专业背景有助于在开发过程中实现技术融合,创新应用。 ### 总结 整体来看,本文档在标题和描述中指出...

    java swing

    Java Swing是Java编程语言中用于构建桌面应用程序GUI(图形用户界面)的一个库,它是Java Foundation Classes (JFC)的一部分。Swing提供了丰富的组件集,允许开发者创建功能丰富的、交互式的用户界面。本教程将深入...

    Java的webservice需要的axis2的所有jar包

    1. **Apache Axis2**: Axis2是Apache软件基金会的下一代SOAP引擎,它是Axis1.x的升级版本。它支持SOAP 1.1和1.2规范,并提供了对RESTful风格的服务支持。Axis2的核心设计理念是模块化,这使得它具有高度可扩展性和...

    简单了解java函数式编码结构及优势

    Groovy、Scala和Clojure都是JVM平台上的下一代语言,它们在不同程度上融入了函数式编程的概念。这些语言不仅提供了函数式编程的功能,还通过语法简洁性和更高阶的抽象简化了编程任务。 1. Groovy:Groovy是Java的一...

    java进阶提高学习教程-16Web技术.pptx

    * HTML5 是互联网的下一代标准,是在网页上呈现互联网内容的一种语言。 * HTML5 专门为承载现在各种丰富多样的 web 内容设计的,可以直接展示,不再需要额外插件。 * HTML5 可以在不同类型的硬件(电脑、手机、平板...

    51CTO电子杂志《开发月刊》2013年10月刊1

    【开发月刊】2013年10月刊1主要涵盖了多个IT领域的热门话题,包括DevOps的发展、Java下一代语言的探讨、编程语言排行榜、前沿技术趋势等。以下是相关知识点的详细说明: 1. **DevOps进化论**:DevOps是一种强调开发...

    百战程序员1573题全套1

    - **编程风格**:良好的编程习惯非常重要,包括适当的缩进和配对编程等。 - **缩进**:使用制表符或空格来进行代码块的缩进,以增强代码的可读性。 - **注释**:注释是用来帮助理解代码的重要工具。 - **单行注释*...

    Scala in Action pdf

    Scala号称是下一代的Java,这是因为Scala不仅可以在Java虚拟机(JVM)上运行,而且还可以与现有的Java代码无缝互操作。Scala的语法紧凑,比起Java来说可以减少很多冗余的代码编写,这使得它成为那些对Java语言已有...

    scala-2.12.7

    9. **Dotty和Scala 3**:Scala社区正在不断发展,目前最新的稳定版本是2.12.7,而Dotty(现称为Scala 3)是其下一代版本,旨在解决语法复杂性和提高编译速度,同时保持向后兼容性。 10. **广泛应用**:Scala广泛...

    CXF使用手册

    CXF使用手册详细介绍了Java环境下的WebService支持,重点讲解了如何利用Apache CXF技术实现WebService。CXF是合并了Objectweb Celtix和Codehaus XFire之后的产品,它为Java开发者提供了一种构建和开发WebService的...

    Spring + axis2 开发 webservice

    它是Axis1的下一代,提供更快、更轻量级的服务处理。Axis2支持SOAP 1.1和1.2,以及RESTful风格的服务。它允许开发者通过简单的API快速创建Web服务,同时支持多种传输协议如HTTP、HTTPS和JMS。 3. **创建Web服务**:...

    VisualBasic语言教程&案例&相关项目资源.docx

    VB.NET:随着.NET框架的推出,Visual Basic.NET成为了VB语言的下一代,支持更现代的编程风格和.NET框架的所有功能。 主要特性 易学易用:Visual Basic被设计为一种直观和易于学习的语言,尤其适合初学者入门编程。 ...

    axis-axis2-java-kandula:Apache Axis2-Java Kandula

    Apache Axis2 是一个高度可扩展且模块化的Web服务引擎,它是Apache SOAP(Simple Object Access Protocol)项目的下一代产品。Axis2提供了高效的服务实现和消费机制,广泛应用于开发和部署SOAP和RESTful Web服务。...

Global site tag (gtag.js) - Google Analytics