100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > d3.js中点可以用图片吗_拿什么拯救你 长英文命名——用中文(也许标点也可以)试试...

d3.js中点可以用图片吗_拿什么拯救你 长英文命名——用中文(也许标点也可以)试试...

时间:2019-08-14 21:13:08

相关推荐

d3.js中点可以用图片吗_拿什么拯救你 长英文命名——用中文(也许标点也可以)试试...

前文在代码中进行中文命名(类/变量/方法等)的优势已小结了一些,此文是因为某回复说用全中文命名不一定比中英混合短,于是用那个回答下的例子作了下比较:

注:此文并不仅针对此回复,仅用此例作引

findBy客户编号And交易账号And基金代码OrderBy发生日期Asc // 这是原例程(非本人作者)通过客户编号交易账号和基金代码查找并按发生日期升序排列 // 源自该回复findByCustomerIdAndTransactionAccountAndFundIdOrderByOccurredDateAsc // 改写为英文

可见,至少此例中,全中文的仍然比中英混合的要短,即使英文已经用了缩写 Asc(ascending)。当然如果全英文命名的就更长的多。(虽然此例并非如此,但的确有些时候全中文不一定更短)

随着业务逻辑的复杂度增加,标识符长度往往在逐渐变长,读写都更加困难。像上面的原例程中那样沿用中文文档(前文 开发中文 API 的一些策略 2.2也提到)中的术语(“基金代码”等等)就非常恰当。中文术语往往比英文的简短,无需赘言。

但是,长中文命名毕竟意味着断句更加困难。上面的例子中,如果标识符能够带有标点的话,比如:

通过客户编号、交易账号、基金代码查找,并按发生日期升序排列

将会接近自然语言许多,也好读一些。

常用的英文编程语言中,标识符不允许标点,个人认为一个原因是英文的特性使然。因为英文自然语言使用空格分隔词语,标识符中需要将空格去掉以避免语法歧义,单词已经“粘在了一起“,再加进标点的话(即使语法分析能够搞定),难免觉得别扭,比如上面的:

findByCustomerId,TransactionAccount,FundIdOrder,ByOccurredDateAsc

而中文自然语言本身不用空格分词,加入标点毫无违和感。

带着这种美好的憧憬,在 Java 下尝试了一下,可惜好像所有中文符号都无法用于命名。

不过,Python 有个惊喜:

尝试的中文标点中,只有这个”·“(反单引号)可用于标识符命名。不过至少多了个选择,可以让长命名更可读一些。

再说开去,中文编程时,大可以跳出英文命名的思维定势。比如在设计中文编程语言时,不妨就可以考虑是否支持、支持哪些标点使用于标识符。

也可以重新考虑是否需要沿用流行英文编程语言中的标点用法。比如这里提到的,对象.方法中的句点对于英文来说也许是必需的分隔,但对中文来说就未必。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。