`
argan
  • 浏览: 126196 次
  • 性别: 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上都跑多少语言了.

相关推荐

    java编程基础篇 java编程

    java编程基础,简单易懂,适合初学者。“JAVA是有SUN公司开发的新一代编程语言,它可以用在...”

    新一代Java开发环境准备

    新一代Java开发环境准备

    下一代java测试_testng及高阶概念

    《下一代java测试_testng及高阶概念》电子书,介绍了java测试,testng的相关基础以及一些高阶的概念

    下一代数据编程:服务数据编程

    我收藏的5本书籍二:下一代数据编程:服务数据编程

    论文研究-新一代Java智能卡技术研究 .pdf

    新一代Java智能卡技术研究,马旭,王立,本文较详细地讨论了最新的Java 2.2智能卡技术,包括系统结构、运行时环境、编程模型、Java类库支持、虚拟机原理及设计,最后简要介绍

    下一代网络和下一代服务

    下一代网络(NGN)是一个广义的概念,它包含了正在发生的或者将要发生的网络构建方式的多种变革。一般来说,NGN是可以包括话音、数据和多媒体等综合业务的开放式网络架构。下一代网络只是手段,下一代服务才是目的。在...

    Web Service与下一代Internet Java的未来发展

    以Web Service 为核心的下一代Internet结构(或者说是Web Service 结构)从软件开发者的角度看可以说是Internet上的三层(多层)结构,也可以说是三层结构在Internet上的直接扩展。

    Java并发编程实践

    虽然当前CPU主频在不断升高,但是X86架构的硬件已经成为瓶颈,这种架构的CPU主频最高为4G,事实上目前3.6G主频的CPU已经接近顶峰,多线程编程模型不仅是目前提高应用性能的手段,更是下一代编程模型的核心思想

    Java开源的下一代社区平台Symphony.zip

    简介 Symphony([ˈsɪmfəni],n.交响乐)是一个现代化的社区平台,因为它: 实现了面向内容讨论的论坛 包含了面向用户分享、交友、游戏...下一代的社区系统,为未来而构建 标签:java社区 symphony

    java8多核编程++ lambda表达式

    《精通lambda表达式:Java多核编程》介绍Java SE 8中与lambda相关的特性是如何帮助Java迎接下一代并行硬件架构的挑战的。本书讲解了如何编写lambda、如何在流与集合处理中使用lambda,并且提供了完整的代码示例。你...

    北邮-2021-下一代internet-日常作业.rar

    北邮,大三下,下一代internet日常实验作业

    Java软件技术文档合集

    Java 是 Sun 公司推出的新的一代面向对象程序设计语言,特别适合于 Internet应用程序开发,它的平台无关性直接威胁到 Wintel 的垄断地位。一时间,“连Internet,用 Java 编程”,成为技术人员的一种时尚。 Java 是...

    迈向下一代敏捷

    迈向下一代敏捷

    Java程序设计-GUI小练习

    JavaFX是Java 8及以后版本引入的新一代GUI库,它具有更强大的功能和更好的性能。JavaFX可以用来创建丰富的图形化用户界面和多媒体应用程序。JavaFX支持CSS样式表和FXML文件,使得界面设计更加灵活和易于管理。JavaFX...

    计算机网络技术----下一代INTERNET

    本文件为电子课件,讲述下一代因特网所用的新技术新标准以及新设备。

    第一期超越Github Copilot,AutoCoder 实现下一代编程辅助应用

    第一期超越Github Copilot,AutoCoder 实现下一代编程辅助应用

    利用JSON-RPC-Java构建下一代Web应用程序

    利用JSON-RPC-Java构建下一代Web应用程序.zip

    IPv6详解 网络技术 下一代网络

    IPv6技术详情 下一代网络 交换机技术 IPv6技术详情 下一代网络 交换机技术 IPv6技术详情 下一代网络 交换机技术 IPv6技术详情 下一代网络 交换机技术 IPv6技术详情 下一代网络 交换机技术 IPv6技术详情 下一代网络 ...

    下一代数据编程:服务数据对象

    数据编程的编程模型规范,它提供了对常见应用模式的有力支持,并允许应用程 序、工具和框架更轻松地查询、查看、绑定、更新和内省数据。本白皮书讨论了 SDO背后的驱动因素,呈现了SDO架构,并讨论了提供给业内供应...

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

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

Global site tag (gtag.js) - Google Analytics