绞尽脑汁,给代码取个好名字

在这里插入图片描述

表达到位:我的名字会告诉你一切

范例一

int n; //个人统计

n是一个无意义的。它没有任何个数的概念。通过注释,你或许能得到一点信息。但是,如果要通过注释来解释这个变量。那这个变量的名字就是有问题的。
我们应该指明 计量的对象和单位的名称:

int personNumInCompany;
int personNumInAndroidTeam;

范例二

public List<String> getList() {
    List<String> list = new ArrayList();
    for (String item : oneList) {
		if (item.contains("1900") {
			list.add(item);
		}
	}
	return list;
}

这段代码很简洁。大概意思就是如果List的item包含字符串1900,就添加到list中,并输出。
这段代码格式没问题、结构没问题,但是,它不清晰,有模糊感。
(1) oneList是什么?
(2) 1900代表什么?
(3) 输出的list能做什么?
这段代码没有给我们答案。那么它的答案自然在它出现的地方。

我们先给这段代码创建一个场景。比如1900是一个歌单中,属于电影the legend of ninteen hundred的歌曲的前缀。比如歌曲The Legend of the Pianist的歌名是:1900-The Legend of the Pianist
那oneList可以改名mPlayList。1900是电影的别称,那么可以改为有意义名称。

public List<String> getPlayListInMovie1900() {
    List<String> songListIn1900 = new ArrayList();
    for (String name : mPlayList) {
		if (name.contains(MOVIE_1900_CONDENSED_NAME) {
			songListIn1900.add(item);
		}
	}
	return songListIn1900;
}

其实,只是改了名字,没有结构,数量,嵌套层级,全都没变。但代码就是明确了。<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值