@
lepture 就是这样。我讨厌的语言不多,Ruby并不属于其中之一,所以我不会去刻意攻击它。
但是Ruby本身的争议很多,大家对其的误解也多,所以Rubyer大都很敏感,一看到非议就会很冲动地捍卫自己所用的语言。
我不是说Pythoner就不会这么做,但是他们会清楚地解释原因;至少不会以一种盛气凌人的姿态,告诉你要么就花大把时间去领悟它的好,要么就别指手划脚。
突然想到战色女,我的问题不是问题,一切都是男人的错。
@
chloerei 以我的理解,简洁是以大家都懂的方式让其简单,简约则是为了简化,而限制了一些隐含的约束条件(例如赋予符号特殊的意义)。
顺便附字典中的解释,确实没什么区别:
简洁:简明扼要,没有多余的内容。
简约:是力求语辞简洁扼要的文体风格。其特点是简洁洗练,单纯明快,辞少意多。简约不是简单摹写,也不是简陋肤浅,而是经过提炼形成的精约简省,富有言外之意。其弊在容易流于郁而不明的晦涩。
关于JS框架,如果Rails只是单纯地引入,而不会自动生成JS代码,那就当我没说。
关于.save,让我们先抛开属性和方法的区别。假设有个函数名叫save,我把它赋值给一个变量:x = save,这会让我疑惑save是变量还是函数返回值。
你可以说动词一般用于函数名,但如果一个词既可做动词,又可做名词呢,例如answer?
你也许会换个没有歧义的名字,但这已经是在解决问题了,而不是你所说的不存在问题。
即使对你来说不存在问题,那么是否又能和我之前所说的一样,先思考为什么别人会有问题,再做定论?
@
Los 以我浅薄的理解,Rails约定了一些前提,你在遵守这个前提时,除了直接体现出来的无需配置以外,其他地方也因为用到了这些隐喻,而省去了编码工作——这都建立在你必须保持一致性的前提下。
而项目的需求总是有不一样的,你可能要做移植工作,处理原来不符合Rails约定的URL、表名等,说不定还有knowlegde这种不可数名词的存在。在约定被破坏时,我不知道维持配置,以及为修复它而补充那些省去的代码需要怎样的effort。
Google搜索“约定胜于配置”,第2篇的内容囧到我了。
看上去还是到stackoverflow搜索比较好:
http://stackoverflow.com/questions/1166539/do-you-find-convention-over-configuration-good-or-bad