说说设计,谈谈Ruby
开始之前先吐槽两句,房东的网络真坑,不停地断网。不过,也正因为此我才有足够的时候去收拾一些想法,想想一些想要做的东西。可以静下来,好好思考也算是一个难得的机会。
说说设计
星期四在卿的帮助下,拿到了Photoshop的License,我想我已经重新收拾一下那些关于设计的想法。
关于设计的书似乎已经有很多了,总以为自己缺少的是对于色彩的理解,重新看了下《写给大家看的设计书》,发现原来不是这样子的。
编程需要不断地实践,设计也需要不断地实践,而色彩在这过程中也是如此。
工作时,我们对一段代码不满意的时候,我们会对他进行重构、重写,像打磨一件艺术器一样。
大多数设计人员并不是使用一种科学的方法来选择颜色,而只是进行试验,反复尝试,直到发现他们认为让人满意而且有效的结果。
上面那句话是来自于《写给大家看的WEB设计书》,两句话看上去有如此多的相似。
风格与练习
以爱好为主的朋友圈里就三种人,写作的、画画的、编程的。以自己的喜好建立了自己的小圈子,除上之外便是自己的同学了。偶尔也会有聊聊设计,画画的时候:
-
有意无意间和我姐(一个打算开咖啡店的设计师)聊到了设计——对于当前的我来说,更多的是做一些设计,做一些自己风格的设计。
-
让我想起身边一位手绘不错的程序员说,临摹,在模仿中形成自己的风格。
-
一个天津美院的朋友告诉我,多加练习,慢慢地就能画自己的想画的。
-
一个程序写得不错的美术学生——我想去游戏公司,因为可以直接上手写游戏。
最后大家说要有自己的风格,而在那之前需要的是勤加练习。
《写给大家看的设计书》强调四个对比
,重复
,对齐
,亲密性
。想起中学课本上关于诗词的那些话,对仗工整等等。
自己的风格就是要有自己的设计思想,从哪里开始,从哪里结束。设计和写作有着同样的过程,只有自己去练习创作,才会有自己的风格,自己的模式。
一群人总结起来那么几个模式,最后归到设计模式,于是我们说说编程。
谈谈Ruby
最近正在听公司的关于Ruby Workshop,和Java一样作为我厂的两大阵营。遗憾的是我在这两个阵营之外,作为一个经常写Javascript的Pythoner。其实今天我是想吐槽Ruby这门语言,作为一个Ruby的门外汉(写过很多Ruby代码,但是不觉得能写好)。
Ruby不适合外人
总会有这样的人,会说不喜欢你就滚,比如linus。在这里我没有黑他的意思,我是想说他是对的。Ruby的很多程序上受益于ROR,只是最近已经不再那么受欢迎,似乎是因为执行效率。
我猜还有一部分是因为不易外人阅读。
今天我在写一份Ruby Workshop的作业,一开始我写的是这样子的,这一定会被人说成不像是Ruby的风格,看起来就是将代码从Python翻译到Ruby过来的,翻译到Java也不会太难。
class Fixnum
def palindrome_below(base)
palindrome_match = []
num = self - 1
(1..num).each do |i|
if i.to_s(base) == i.to_s(base).reverse
palindrome_match << i
end
end
palindrome_match
end
end
至少我们应该把if..end
if i.to_s(base) == i.to_s(base).reverse
palindrome_match << i
end
变成类似于
条件 ? 这个 : 那个
我们还可以each用select代换,于是最后变成了这样子
class Fixnum
def palindrome_below(base)
(1..self - 1).select{ |i| i.to_s(base) == i.to_s(base).reverse }
end
end
看上去就是Ruby的风格,我花了几十分钟才将上面的其他语言的代码,变成了Ruby写的代码。
然而,我猜大家都会喜欢这个语言的,总的来说似乎很容易读懂。
但是要是我要换到另外的语言呢?我们需要一个Ruby专家 : 同时又是另外一个语言的专家。
写起代码来越方便,意味着要么编辑器做了很多事,要么编译器做了很多事。喜欢Ruby的人是在享受编程的乐趣,还是在享受语言的乐趣,总让我觉得他们把Ruby写成了Perl。考虑一下编译器,考虑一下不懂Ruby的人。
所以我猜,喜欢Ruby的人多半会很自恋
你们说呢?
其他
如果你想看看代码的话,请猛击:https://github.com/gmszone/ruby_codekata
原文: phodal
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2024-08-08 16:19:31
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: 说说设计,谈谈Ruby (米扑博客)