关于方法命名的问题

centgo 2007-04-14 11:38:58
有两个方法
1.取得班级中所有20的学生
2.取得班级中所有的男生

我有两套命名方法请比较那一种更合适
1. Students getStudents(int age);
Students getStudents(boolean gender);

2. Students getStudentsByAge(int age);
Students getStudentsByGender(int gender);

请说说你选那一种命名方法,并说说理由。
...全文
679 51 打赏 收藏 转发到动态 举报
写回复
用AI写文章
51 条回复
切换为时间正序
请发表友善的回复…
发表回复
yma5423 2008-04-12
  • 打赏
  • 举报
回复
都差不多,第二种好一点,能让人更容易看明白。但鉴于这个问题本身不复杂,选哪个都可以,看自己写代码风格了。
guofei_gf 2008-04-12
  • 打赏
  • 举报
回复
无所谓哪个好,看你的习惯或规则了
shengli_liao 2008-04-12
  • 打赏
  • 举报
回复
试问有几个程序员在编程时还时时的去看文档定义
======================================
敢问有几个程序员在编程时不时时的去看文档定义?
Java源码追踪是我在编程时最喜欢干的事情了。
name99_6 2008-04-12
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 shengli_liao 的回复:]
这是一种习惯问题
个人倾向第一种,因为它简洁方便,而且简单的文档定义和较完整的形参名称完全可以让程序员明白该方法在干什么。

第二种多少有点罗嗦,如果要引申第三个方法:

获得班上年龄20的男生

这两种写法就有很大的区别了:

Java code
1. Students getStudents(int age,boolean gender);

2. Students getStudentsByAgeandGender(int age,int gender);





如果再添加一个方法:

[/Quote]

同意.
kuifont 2008-04-12
  • 打赏
  • 举报
回复
方法命名首先要意义明确,一看就能明白
其次再是简洁

我看还是第二种比较好。。

如果不理解什么情况。就来看
1. Students getStudents(int age);
Students getStudents(boolean gender);

2. Students getStudentsByAge(int age);
Students getStudentsByGender(int gender);

2的方法名 一看大概就了解了一些,再加上你的一些说明,就更加明白了。
方法是程序里面给人看懂的东西,现在都提倡 简易化拉
「已注销」 2008-04-12
  • 打赏
  • 举报
回复
我喜欢用第二种
cjkwin 2008-04-11
  • 打赏
  • 举报
回复
第二种好!望文生义!
Chariszou 2008-04-11
  • 打赏
  • 举报
回复
再说靠文档定义说明有很大不便,试问有几个程序员在编程时还时时的去看文档定义
最好的就是定义清晰明了的接口名,加上清晰的注释
Chariszou 2008-04-11
  • 打赏
  • 举报
回复
如果再添加一个方法:
获得班上年龄20的身高170cm体重75kg的男生
第一种写法可以在定义几个形参,
可按第二种就没法写了。
按你这样说我就写成
Students getStudents(Student student);
没有必要加多形参
他的意思就只是根据一个形参取值,所以第二种较好
Chariszou 2008-04-11
  • 打赏
  • 举报
回复
第二种
清晰明了,让人一看就明白
sandyhiny 2008-02-29
  • 打赏
  • 举报
回复
第二种,因为比较有意义.
liang8305 2008-02-27
  • 打赏
  • 举报
回复
我比较倾向于第一种

但是js里面
document.getElement却是分成getElementById,getElementsByTagName

不过大师们都说了
命名这个东西不一定有哪个好,哪个坏
可以随便挑一个你喜欢的,然后一直保持这种风格就可以了

重点在于:“一直保持这种风格”
而不是究竟哪个好,哪个坏
chenlixun 2008-02-27
  • 打赏
  • 举报
回复
推荐第一种:
Students getStudents(int age);
Students getStudents(boolean gender);

理由:
第二种方法的名字后加的BY...显得有点多此一举,
方法加上注释就能明白了的,多看JDK源代码,你就会发现优秀的代码是怎样子.
dgqbcht 2008-02-25
  • 打赏
  • 举报
回复
第二种好,方法名就应该直截了当的告诉使用者这个方法是干什么用的,虽然长些,但是有IDE呢,呵呵。
songhaichao1983 2008-02-25
  • 打赏
  • 举报
回复
第二种,定义明了,方便以后阅读,定义清晰也方便别人阅读。个人感觉定义方法不能模糊,每个人每天要写很多代码,如果很模糊,过段时间再来改,你自己都糊涂了。
shengli_liao 2008-02-24
  • 打赏
  • 举报
回复
这是一种习惯问题
个人倾向第一种,因为它简洁方便,而且简单的文档定义和较完整的形参名称完全可以让程序员明白该方法在干什么。

第二种多少有点罗嗦,如果要引申第三个方法:

获得班上年龄20的男生

这两种写法就有很大的区别了:

1. Students getStudents(int age,boolean gender);

2. Students getStudentsByAgeandGender(int age,int gender);



如果再添加一个方法:
获得班上年龄20的身高170cm体重75kg的男生
第一种写法可以在定义几个形参,
可按第二种就没法写了。

vtudiv 2008-02-24
  • 打赏
  • 举报
回复
倾向于第二种.
shi125874 2008-02-23
  • 打赏
  • 举报
回复
第二种 可读性强。 有必要用重载吗?
deely77 2008-02-23
  • 打赏
  • 举报
回复
第二种,便于理解
希偌 2007-12-14
  • 打赏
  • 举报
回复
第二种
加载更多回复(31)

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧