- 论坛徽章:
- 3
|
本帖最后由 captivated 于 2013-10-29 01:59 编辑
比如写个简单的用于四则运算解析的计算器。
这个计算器要能接受类似于
(2 + 2.2222) * 2 / (2 - 2.2222) + 222.222 * (-2.222)
这样的四则运算字符串,然后给出整个四则运算表达式的运算结果。
如果使用递归下降,或者用栈,或者其它文法分析写解析代码; 如果代码可以显式或者隐式地解析出优先级并输出, 可以非常明确的判定表达式是否出错以及出错的原因, 而且代码结构清晰, 一看就知道要表达什么。 这样的代码就是优雅的。
反之, 如果代码一坨一坨的, 比如在判定表达式是否正确之类的问题上就花费了大量愚蠢的代码, 或者说根本就没有清晰的分析方法和代码结构,而且稍微改动一下就会又导致一坨更加愚蠢的代码, 那么这样的代码就是拙劣令人作呕的。
英文 elegant 本来就是优雅的意思。
字典里面解释说:
* an elegant woman, coat, style of writing 文雅的女人,高雅的外衣,优美的写作风格
那 elegant 不翻译成“优雅”翻译成什么。 “优雅”不好, 那就翻译成"优美" 吧。 总之, 反正就是高端大气上档次的意思。 我觉得它们差不多的。我觉得在 “优雅” 和 “优美” 这两个词之间挑翻译的毛病是不好的, 人家翻译喜欢 “优雅” 这词。 如果很讨厌翻译, 那就自己去看原文嘛, 这又没啥。 我有时为了方便, 翻译拙劣什么的我都忍了的, 其实不怕悄悄地告诉你, 我觉得读中文英文差别其实不是那么大的, 读英文的话稍微慢那么一点点而已, 而且我有时我觉得有的英文资料真的很啰嗦的。
好吧, 如果翻译不对, 那代码应该还是有 elegant 和 inelegant 的分别的对吧, 否则人家英文原文干嘛用 elegant 这样的词呢。 比如 linus vs Tanenbaum, 我觉得 Linus 还使用了更加高端大气上档次的词呢:
“ True, linux is monolithic, and I agree that microkernels are nicer. With a less argumentative subject, I'd probably have agreed with most of what you said. From a theoretical (and aesthetical) standpoint linux looses. If the GNU kernel had been ready last spring, I'd not have bothered to even start my project: the fact is that it wasn't and still isn't. Linux wins heavily on points of being available now. ”
我艹, 这里面居然用了 "aesthetical" 这么高端大气上档次的词,相比之下, 我觉得 "elegant" 神马的弱!爆!了!!!
|
|