小数点前后两部分拆成两个变量,变量名后缀用啥好

2016-07-04 19:55:50 +08:00
 lowzoom

假设有一个变量:

double height = 12.34;

把 12 和 34 分别取出来放进两个 int 变量里,两个变量应该用什么后缀好?


我现在是用

int heightInt = 12;
int heightFrac = 34;

小数点后的命名感觉还好,但小数点前的命名感觉很别扭,原因有:


请教下大家有没有更好的意见?

3195 次点击
所在节点    程序员
23 条回复
andreby
2016-07-04 19:59:41 +08:00
prefix suffix
lowzoom
2016-07-04 20:01:13 +08:00
@andreby 太长,不简洁
azurefire
2016-07-04 20:04:31 +08:00
http://math.stackexchange.com/questions/64042/what-are-the-numbers-before-and-after-the-decimal-point-referred-to-in-mathemati

没有上下文的话,貌似没有更简单的命名方式,可以考虑从实际用途出发来命名。
vghdjgh
2016-07-04 20:05:31 +08:00
heightInteger
heightDecimal

fraction 的意思是分数
lowzoom
2016-07-04 20:57:22 +08:00
@azurefire characteristic , mantissa 。。。还真没在什么代码里见过这两个单词,又长又难缩写,居然连歪果仁都没好答案,尴尬了。
BTW ,我是在写一个通用序列化方法的时候碰到这问题,所以也没有具体的语义语境,就是需要通用地称呼这两个部分。
loading
2016-07-04 21:03:08 +08:00
每次用 int(height)获取,听说牛逼的编译器会处理的…
lowzoom
2016-07-04 21:10:54 +08:00
@vghdjgh 词义上你是对的,但这两个单词在编程语言里普遍被用在表示数据类型上,如果再用回到变量命名里,感觉反而会降低代码的可读性(会让人认为是在处理类型 cast 的问题)
Goooogle
2016-07-04 21:11:59 +08:00
或者学 Version 的命名方式, major.minor ?
zhujinliang
2016-07-04 21:12:03 +08:00
后面那个叫 Tail
前面的要不对应着叫 Head ……
lowzoom
2016-07-04 21:16:09 +08:00
@loading 我想提问的其实是一个通用的编程问题,无关乎语言,这种情况我在写 python 的时候也碰过,这时候牛逼的编译器表示也帮不上忙了。。
lowzoom
2016-07-04 21:19:19 +08:00
@Goooogle
@zhujinliang
这两个有参考价值, MARK
Mutoo
2016-07-04 22:51:12 +08:00
fraction 是分数的意思,但是 fraction part 指的就是实数中的小数部分,定义为

x > 0: frac(x) = x - floor(x)
x <= 0: frac(x) = x - ceil(x)

https://en.wikipedia.org/wiki/Fractional_part
cxbats
2016-07-04 23:38:19 +08:00
car cdr? 不过好像是用在分数上的...
heyang
2016-07-04 23:43:57 +08:00
@andreby
@lowzoom 我一般就用这俩,嫌太长了截啊, pre suf
likuku
2016-07-04 23:44:40 +08:00
num_lift_dot
num_dot_right
likuku
2016-07-04 23:45:42 +08:00
num_more_than_zero
num_less_than_zero
likuku
2016-07-04 23:51:18 +08:00
纠错:
num_part_more_than_zero_or_equal_zero
num_less_than_one

只考虑人类阅读性便利
cxbig
2016-07-05 00:35:25 +08:00
小数部分一般用 fraction 或 decimal
用 IDE 根本不在乎有多长,可读性才是第一位
20150517
2016-07-05 00:44:13 +08:00
只有我一个觉得,你编个变量名都要这么纠结,你怎么写程序写下来?
chiv2
2016-07-05 00:53:21 +08:00
dotLeft, dotRight

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/290232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX