ruby第二课

ruby文法约定,若是编程者慢慢就会发现。现在急于求知的是什么?

下面列举下ruby中的保留字,因为这些是出现在ruby语法必须识别开来的,这些关键字留解释器专用,他们是解释器进入生命周期的基础知识,解释靠这些来识别新概念,新单词,当然还有就是那些文法约定了,用以检查出用户编程时的语法错误。

ruby解释器来讲,那些概念级的单词就是常量标识的定义,包括类、模块和常量。ruby概念当中就是他所能理解的对象,这些都可以称作ruby对象。

继续阅读

ruby文法约定

By convention, constant object references are normally spelled using uppercase letters and underscores throughout, while class and module names are MixedCase。

这句话告诉我们写类和模块的时候使用MixedCase这样的方式命名,定义常量的时候使用大写字母以及下划线来连接单词。
ruby解释器将这三种东西都称为CONSTANT IDENTIITY 就是说这些标识都是不可更改的引用。常量也好,模块以及类也好,其实都是对象,那么也就是这类标识叫作常标对象。他的标识不可以赋值为别的东西。这些标识从被解释定义之后就形成了ruby解释器的记忆,他就有了这些概念,能识别出这些东西。当然随便解释运行,你可以能这些常用对象进行扩展,那么ruby解释器呢也会把这些学习过来。
这说起来貌似好像ruby解释器很智能似的呵呵,就像人一样,是活的,会学习。但是可以他不会思考,需要借助你的智慧来开发他的能力,那就要求你熟悉他所能明白的文法。
除了上术所谓CONSTANT标识,他还解释另一类标识,叫本地变量(Local variable)就是小写字母开始,通过下划线来连接单词构成本地变量标识。
关于实例变量呢跟本地变量差不多,但是以@开头的。请看下面一例:
# ruby code example
obj = Object.new
class << obj
@test_string = "here is instance variable of obj"
def test(str)
print "local variable str for argument: ",str,"\n"
puts "show the instance variable: ",@test_string
end

ruby入门

ruby基础入门。

我们先入输出helloworld!开始。假设你有ruby解释环境的话,那么你可以在irb中这样写:

puts "helloworld"

然后就能看到输出结果helloworld。

同样,你也可以把这代码保存到文件,在命令行中使用ruby命令解释这个文件,也能看到同样的输出结果。

继续阅读

清除代码异味

在OSCHINA看到的文章,非常棒,所以转过来。

本文是从 Cleaning up code smells: Venkat Subramaniam @ Chennai 这篇文章翻译而来。

今天,Venkat Subramaniam 就关于清除代码异味的话题给我们做了一个非常有趣的演讲。下面就是我记录的一些他的话。

为什么我们需要有质量的代码?

  • 敏捷开发方法是用来应付那些要求代码做大量改动的反馈信息的方法。
  • 如果程序没有用一种好的表达方式来表现,那程序会很难读,难维护,难修改。

什么是代码异味?

  • 代码异味是一种由写的很差的代码引起的一种有臭味的感觉,一种程序什么地方会有问题的感觉
  • 异味更多的是来自一种直觉,而不是一种有据可查的标准,当你看到有味的代码时你就“感觉”到了
  • 如果你不把异味清除,不久之后你就会习惯这种气味,不再对它有察觉
  • 用任何语言都能写出有异味的代码:即使最简单安全的语言,你也能做出天才才能想出的蠢事:)
  • 我们经常会意识不到自己在写很臭的代码,经常需要外人为我们指出这点

继续阅读

夜,很安静。

把ubuntu11.04降回了10.10,2.6.38内核似乎对我电脑的支持不好,经常出现问题。虽然添加了所谓的鸡血补丁,但似乎不是很靠谱。从10.10升级内核,再到11.04自带的2.6.38,一直都没让我安稳过。终于忍无可忍,降回了2.6.35,ubuntu10.10,突然感觉gnome2的界面已经非常好了,不习惯unity。当然2.6.35也有问题,但至少不是大问题,都可以人工解决。偶数级的内核分支也不靠谱吗?

突然想听信乐团的“想你的夜”,便找来低声功放着,应该不至于扰民。安静的夜,真的很好,扬声器里传出的声音很纯净。

很多事情,在宁静的夜里,被夜色隐没。只希望这夜的安静,一直安静下去。

【外刊IT评论】复杂是大敌

本文转自oschina

本文是从 Complexity is the enemy 这篇文章翻译而来。

差不多在Google工作有7个年头了(!)。我在这学到了很多东西,写都写不完。然而不管怎样,我至少要向你们分享一条只有在我有了更多经验后才得到的东西。

复杂是软件的死神。你无法用数字评估它所造成的代价,它会悄悄慢慢的出现,就像是用小火在煮你,让软件变得越来越糟,你很难察觉到,而当你察觉到 时,那已经太晚了。在另一方面,你经常的会很容易的看到增加复杂度带来的好处:增加一个新的扩展层,你可以实现新功能X,或把本来运行在一个机器上的进程 分成两个,用来解决当前系统的扩展瓶颈。但现在你的大脑里必须想着这个新增加的层,或这还要实现一个远程调用层来管理这两台机器。 继续阅读

远途

越来越急躁,燥热难耐。

究竟在着急什么?害怕什么?思考什么?

窒息!

暴躁、易怒,着急去完成每一件事——一件件和自己无关,价值观不认同的事。

被逼迫,却无可奈何。

焦急着,焦急着。

这长长的路,刺骨的黑暗。