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上套是不行的!!
没有好的技术,只有合适的技术;同样,没有好的风格,只有合适的风格。
分享到:
- 2009-08-12 17:11
- 浏览 1368
- 评论(5)
- 论坛回复 / 浏览 (5 / 2501)
- 查看更多
相关推荐
根据David Rupp在博客中的说法,Scala可能是下一代Java。这么高的评价让人不禁想看看它到底是什么东西。 Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中的每个值都是一个对象,包括基本数据类型(即...
Java之所以能够在众多编程语言中脱颖而出,成为一种“新一代编程语言”,主要是因为它具备了一系列显著的优势:面向对象、良好的可移植性、与硬件无关性、高度的安全性、内置的并发机制以及优秀的性能等。...
- **C语言的特点**:C语言是一种通用、结构化的编程语言,支持过程式编程风格。它的高效性和灵活性使其成为系统编程的理想选择,尤其是在操作系统和嵌入式系统开发中。C语言也是后来许多编程语言的基础,包括C++和...
1. **Lambda表达式**:JDK 8引入了lambda表达式,这是一种简洁的匿名函数语法,使得函数式编程风格在Java中变得更加容易实现。这对于处理集合和并发编程特别有用。 2. **方法引用**:与lambda表达式配合使用,方法...
1. **JaveFX**: JavaFX是Java平台上的下一代用户界面工具包,它提供了丰富的图形和媒体功能,使得开发者能够创建出美观且交互性强的桌面、Web和嵌入式应用,包括小程序。 2. **Java Swing**: 虽然JavaFX现在更受...
- **研究方向**:朱景芝的研究方向为计算机科学与技术,而邱秀荣则更专注于拥塞控制、下一代网络与通信。这样的专业背景有助于在开发过程中实现技术融合,创新应用。 ### 总结 整体来看,本文档在标题和描述中指出...
Java Swing是Java编程语言中用于构建桌面应用程序GUI(图形用户界面)的一个库,它是Java Foundation Classes (JFC)的一部分。Swing提供了丰富的组件集,允许开发者创建功能丰富的、交互式的用户界面。本教程将深入...
1. **Apache Axis2**: Axis2是Apache软件基金会的下一代SOAP引擎,它是Axis1.x的升级版本。它支持SOAP 1.1和1.2规范,并提供了对RESTful风格的服务支持。Axis2的核心设计理念是模块化,这使得它具有高度可扩展性和...
Groovy、Scala和Clojure都是JVM平台上的下一代语言,它们在不同程度上融入了函数式编程的概念。这些语言不仅提供了函数式编程的功能,还通过语法简洁性和更高阶的抽象简化了编程任务。 1. Groovy:Groovy是Java的一...
* HTML5 是互联网的下一代标准,是在网页上呈现互联网内容的一种语言。 * HTML5 专门为承载现在各种丰富多样的 web 内容设计的,可以直接展示,不再需要额外插件。 * HTML5 可以在不同类型的硬件(电脑、手机、平板...
【开发月刊】2013年10月刊1主要涵盖了多个IT领域的热门话题,包括DevOps的发展、Java下一代语言的探讨、编程语言排行榜、前沿技术趋势等。以下是相关知识点的详细说明: 1. **DevOps进化论**:DevOps是一种强调开发...
- **编程风格**:良好的编程习惯非常重要,包括适当的缩进和配对编程等。 - **缩进**:使用制表符或空格来进行代码块的缩进,以增强代码的可读性。 - **注释**:注释是用来帮助理解代码的重要工具。 - **单行注释*...
Scala号称是下一代的Java,这是因为Scala不仅可以在Java虚拟机(JVM)上运行,而且还可以与现有的Java代码无缝互操作。Scala的语法紧凑,比起Java来说可以减少很多冗余的代码编写,这使得它成为那些对Java语言已有...
9. **Dotty和Scala 3**:Scala社区正在不断发展,目前最新的稳定版本是2.12.7,而Dotty(现称为Scala 3)是其下一代版本,旨在解决语法复杂性和提高编译速度,同时保持向后兼容性。 10. **广泛应用**:Scala广泛...
CXF使用手册详细介绍了Java环境下的WebService支持,重点讲解了如何利用Apache CXF技术实现WebService。CXF是合并了Objectweb Celtix和Codehaus XFire之后的产品,它为Java开发者提供了一种构建和开发WebService的...
它是Axis1的下一代,提供更快、更轻量级的服务处理。Axis2支持SOAP 1.1和1.2,以及RESTful风格的服务。它允许开发者通过简单的API快速创建Web服务,同时支持多种传输协议如HTTP、HTTPS和JMS。 3. **创建Web服务**:...
VB.NET:随着.NET框架的推出,Visual Basic.NET成为了VB语言的下一代,支持更现代的编程风格和.NET框架的所有功能。 主要特性 易学易用:Visual Basic被设计为一种直观和易于学习的语言,尤其适合初学者入门编程。 ...
Apache Axis2 是一个高度可扩展且模块化的Web服务引擎,它是Apache SOAP(Simple Object Access Protocol)项目的下一代产品。Axis2提供了高效的服务实现和消费机制,广泛应用于开发和部署SOAP和RESTful Web服务。...