`
ajoo
  • 浏览: 454330 次
社区版块
存档分类
最新评论

getThis().getEvilAdvocate().setDead(getTrue())

阅读更多
code review过程中,看到这样的代码:
Pair<String, String> getFooAndBar() {
  ...
}


恶魔说,弄个Pair来表达FooAndBar不太容易理解,要不干脆弄个类把foo和bar封装起来,返回出来吧。

天使:“同意”。

下一版代码:
class FooAndBar {
  private final String foo;
  private final String bar;

  FooAndBar(String foo, String bar) {...}

  public String getFoo() {
    return foo;
  }

  public String getBar() {
    return bar;
  }
}


嗯。恶魔不爽了。这个FooAndBar纯粹就是为了从函数里面返回几个有逻辑关系的值的组合。它不是public,也没有工具要用java bean api来读它,有必要一本正经地搞getFoo(), getBar()吗?直接就两个foo,bar field,简单点不好?

天使:”反正就是IDE点几下,又不费事。“

恶魔:”可是,它占行数啊。我看着没用的代码眼晕啊“

天使:”getter可以控制只读“

恶魔:”不是有final呢嘛?“

天使:”用方法可以implement interface“

恶魔:”可是这里没有interface啊。就是一个纯值对象“

天使:”可以在getter()里面封装其它的逻辑,直接操作field没有这个灵活性“

恶魔:”搜索整个代码库,几乎95%的情况下,getter/setter都是简单的get/set。有必要为这个旷世罕见的灵活性增加复杂度么?“

天使:”getter是标准。sun推荐的。大家都这么干的“

恶魔:(音乐起,微笑)”紧张的生活会造成心跳加快,内分泌失调,皮肤老化,头发枯黄。所以当可以get日和set日的时候,让我们放开身心,勇敢地被日以及日吧!“


分享到:
评论
3 楼 QuakeWang 2008-08-14  
等Java7的Property declaration语法糖出来会好一点:
http://www.iteye.com/news/598
2 楼 抛出异常的爱 2008-08-14  
用map代替的话
IDE又不能返回想要的KEY
如果想把get set去的的话
只能在ide上想办法了。

难不成要运行时生成指定的代码?
1 楼 nihongye 2008-08-14  
不是被get set,日,而是,人,日了get set,get set是无辜的。

相关推荐

    getaddrinfo.c 内部代码

    《深入解析getaddrinfo.c:C语言在Linux DNS解析中的应用》 在计算机网络编程中,DNS(Domain Name System)是互联网的一项基础服务,它负责将人类可读的域名转换为IP地址。在Linux系统中,`getaddrinfo()`函数是...

    GetData.Graph.Digitizer.v2.24

    《GetData.Graph.Digitizer.v2.24》是一款强大的数据提取工具,专为科研和工程领域的用户设计。这款软件能够帮助用户从各种图形文件中精确地获取曲线的坐标数据,以便进行进一步的数据分析和处理。在学术研究和工程...

    //通过域名得到IP//通过域名得到IP

    Function string GetIp(string name) Library "GetNet.dll" //得到本机IP地址 Function string GetLocalIp() Library "GetNet.dll" //通过ip得到域名 Function string GetName(string ip) Library "GetNet.dll" //...

    getPdf.pdf

    getPdf.pdf

    获取图像坐标数据-getdata.m

    获取图像坐标数据-getdata.m getdata.m 获取datacursor 这个程序通过选菜单栏的tool里的datacursor,再alt 左击可以选定多个坐标点,点击保存按钮可以保存数据,点击绘图可以绘制这几个点

    HTML5小游戏【算术游戏-找到相加等于36的组合get36】游戏源码分享下载 - get36.zip

    游戏源码分享下载 --- get36.zipHTML5小游戏【算术游戏--找到相加等于36的组合get36】游戏源码分享下载 --- get36.zipHTML5小游戏【算术游戏--找到相加等于36的组合get36】游戏源码分享下载 --- get36.zipHTML5小...

    动态获取数据库中的数据作为loadrunner的参数的GetData.dll

    GetData.dll 版本:0.2 作者:kernzhang 测试结果:在SQL server2k测试通过、在postgre上测试通过 ,有网友在oracle上测试通过(但未认证) 本程序采用了ODBC3版本编写,原则上适合于任何一个关系型数据库

    Get.Smart.Season 1.srt

    Filename.....: Get.Smart.1965.S01E30.The.Last.One.In.Is.A.Rotten.Spy.avi Filesize.....: 183,820,288 bytes Runtime......: 25:25.762 (36582 frames) Video Codec..: XviD 1.1.2 Final (B-VOP//) Video Bit...

    GetAdmin.exe

    用于提升用户等级,获得管理员权限,是的完全操控肉鸡

    路径getUrl.js

    获取项目路径js方法,配置地图时有用到。获取项目路径js方法,配置地图时有用到。

    getcode.asp 图片验证码

    ASP图片验证码,用于验证提交表单的合法性。验证码以图片的形式输出显示。

    Advanced GET EOD.v9.1.0.19.rar

    Advanced GET — 波浪分析工具 综观全世界股市的庄家无论是调研分析或操盘技术都是精益求精,甚至标准到令人目瞪口呆的地步,他们作为市场主力使用Advanced GET高级数学模型客观智能数浪,严格按照有关的技术和设定...

    python2.7中所用的get-pip.py文件+安装方法

    `get-pip.py`是一个Python脚本,它的主要作用是为没有预装`pip`的Python环境安装`pip`。在Python 2.7中,由于某些系统可能没有默认提供`pip`,或者`pip`版本过低,`get-pip.py`就显得非常有用。这个脚本可以下载并...

    get-docker.sh

    此docker安装脚本为官方提供的,可以从网上下载,此处直接上传。安装docker客户端,get-docker.sh

    get-docker.sh docker安装脚本

    get-docker.sh docker安装脚本,可直接执行 sh get-docker.sh --mirror Aliyun 安装

    GetData.exe

    GetData 图片曲线数据提取软件,很好用的图形曲线提取类软件

    get-pip.py

    用于安装python的pip插件,下载后运行该文件即可:'python get-pip.py'. 若没有权限则使用 'sudo python get-pip.py' (linux macOS)。

    python3.6 get-pip.py

    curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip.py python get-pip.py

    getPDF.jsp.pdf

    getPDF.jsp.pdf

Global site tag (gtag.js) - Google Analytics