ruby语言里的'三不'

ruby语言里的'三不'

ruby是基于行的语言,如果一个语句只占一行,那么可以省略分号.
ruby的方法定义中,如果是无参方法,那么可以省略括号.如果你不需要提前return,那么最后一个语句就自动return.因此,方法定义里的return就可以省略.

因此,用ruby,你可以不写分号,不写括号,不用return.这样就可以把自己的注意力更多的放在真正要解决的问题上.

[Copy to clipboard] [ - ]
这个好像与Ruby的命名规则有关系,如果是Run而不是run,那么Ruby会首先认为这是一个类名或者是一个常量。
如果是小写,会先判断是不是方法,然后再看是否是属性。

PS:我现在也爱上了这种方法了。呵呵,感觉比较轻松,但有的时候括号还是必不可少的,如果有方法有带参而且还要对返回值进行调用方法的时候,例如:

[Copy to clipboard] [ - ]
补充

[Copy to clipboard] [ - ]
语法太灵活了,也很不好,维护人员很难读懂代码。
ruby也不适合大规模应用于工业信息系统。
我反而认为ruby的可读性是非常高的,只要你稍微花一点点力气来学习下ruby的语法,并亲身实践那么几把。当然,我并不是说就可以随心所欲的写了,在一个组织内部,还是要遵循一些已经形成的习惯。
至于大型的工业信息系统,thoughtworks最近发布的mingle,大家觉得算么?
我去注册了 一个Mingle,还没有收到相关邮件。有人已经体验过了,有相关报道,我去转来给大家看看。

在6月30日,由ThoughtWorks 公司开发的敏捷项目管理工具——Mingle 正式发布了公测版本。自从今年三月份宣布之后,人们一直热烈期待着Mingle的发布。凭借ThoughtWorks在敏捷领域的经验和以及其在高质量软件交付的历史佐证,Mingle最终可能会蚕食Trac 和VersionOne 公司在这一领域长期占有的市场份额。

Mingle发布的第一版本主要是关于项目的协作管理。在ThoughtWorks的Jay Wallace的指导下,来自InfoQ的人员领略了Mingle的独特之处,以及它在敏捷项目管理和团队协作方面的强大功能。 Jay带我们一起观看了Mingle提供的一些核心功能,主要功能如下:

  • Mingle并不局限于敏捷方法论——它默认提供了三种软件开发模版(Scrum, XP 和 Agile Hybrid),每个模版包含了该方法学所需的项目属性。同时,Mingle还支持用户自定义模版,即允许用户对其进行裁剪,以便定制出适合自身使用的模版。
  • 一切皆Wiki——Mingle中最基本的功能单元就是故事卡片,而卡片本身也是Wiki网页。这就意味着用户可以添加图片、链接到其它的卡片、链接到项目面板(也是一个Wiki)上的网页等。而且还享有Wiki所拥有的所有功能。
  • 图表——用它特有的wiki/SQL语法——MQL,用户可以根据存储在Mingle中的数据(包括自定义属性)创建出各种统计图表,并可以显示柱状图、饼状图或者数据透视表格。
  • 网格视图 ——Mingle中的故事卡片模仿现实世界中其在Stroy墙或任务黑板的排列方式,并能够在不同的状态列之间拖拽卡片,改变卡片的状态。并可以为各种状态设置不同的颜色,这样就可以得到更多的视角,比如:优先级、状态、功能范围以及迭代等。
  • 历史记录—— 在Mingle中,从卡片、wiki网页到链接的Subversion中的文件版本,每一个实体都有版本控制。这样,可以从项目的需求变化一直跟踪到修改 的代码。它还为集成的SVN提供了一个文件浏览器,可以高亮显示文件的版本变化情况。甚至,用户可以通过RSS或电子邮件订阅项目的历史记录,例如测试团 队订阅可测试的Story,这样只要Story变为可测试状态,测试团队就会立马收到通知。
  • 状态转换 ——它有一个简单的工作流引擎。可以在一定条件下,驱动卡片从一个状态变化到另外一个状态。例如自动将一张卡片从“分析完成”移动到“待开发”状态——完全由用户自定义并可定制。
  • 标签——每张卡片都可以用元数据打上标签,进而生成不同的视图。每个视图都可以保存 ,而且如果需要的话,还可以将其提到项目的菜单中。
  • 搜索——Mingle提供了一个全文搜索引擎,它会根据关键字从所有的实体中找到符合条件的内容,其中包括Wiki、卡片和源代码
  • 导入和导出 -Mingle可以将excel格式的数据导入项目中,也可以将数据从项目中导出 到excel进行进一步的分析。在导入数据提交之前,还提供了数据预览功能。

ThoughtWorks即将发布Mingle的正式版本。对于5个注册用户以下的项目和开源项目,Mingle是免费的,其它情况需要付费 使用。从技术角度看,Mingle是第一个 运行在jRuby 上面的Ruby on Rails 企业应用。因此,它可以运行在任何环境下。Mingel将提供针对Windows,Mac和Linux系统的二进制安装文件。ThoughtWorks推荐大的项目团队使用Mingle的硬件环境是:当前主流处理器和1.5GB内存。

这是Mingle的公测版本,所以它主要关注于协作和团队工作。当Mingle发布到2和3版本(大约三个发布,每个发布周期约为一个月)的时候,它会将重点转移到项目管理和最终的团队管理。

如果你对Mingle有兴趣 ,可以在这里注册 (Mingle抢先体验),或者等待计划在2007年7月31日发布的正式版本。

已经装了一个mingle了,还没有时间好好研究,另外,感觉这种东西就是要用实际的项目来做实验,否则很难对他有深入的了解和体会