请忍住,编程中别自作聪明

oschina
 oschina
发布于 2013年03月07日
收藏 33

人人都有很高的欲望在编程中表现自己的聪明。你想卖弄一下,用你高超的技巧写出一段最奇巧的代码。它让你得到少有的成就感。然而,我发现,对于大多数人来说,这对于一个项目的长期维护工作来说并不是一件好事。

比如像Ruby这样的语言,非常的灵活强大,使用这种语言耍聪明非常容易。而就像人们常说的更大的能力伴随的是更大的责任。所以,下面有一些对年轻程序员的谏言:在你的个人项目,娱乐项目中写出最奇巧的代码,以此来满足你的成就感,但在给客户做的项目中,你有责任让代码通俗易懂,请写出常规的代码。

temptation-to-be-clever

下面是一个小例子,比较奇巧的代码和常规代码的区别。

奇巧的代码

def address_is_empty?(customer)
  [:street, :city, :state, :zip].any?{|method| customer.send(method).nil? || customer.send(method).squish.empty? }
end

常规代码

def address_is_empty?(customer)
  [customer.street, customer.city, customer.state, customer.zip].any?{|prop| prop.nil? || prop.squish.empty? }
end

你能理解吗?

[英文原文: Resisting the temptation to be clever ]

 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:请忍住,编程中别自作聪明
加载中

最新评论(38

Glitter
Glitter
:(
e
evilwk
都很正常,没觉得有什么奇怪的
hillshills
hillshills
没有更好,简单、易读、易维护、实现功能--OK!
532681765
532681765
rubyer 表示这种写法很正常……灵活的语法使编程充满了乐趣和挑战,不再那么死板……
白起
白起
这张图太吊了
Daniel.Yee
Daniel.Yee
两个我都看不懂,唉
天闲
天闲

引用来自“天闲”的评论

就是啊!i=i+1;为啥非要弄个i++ ,++i?
再学校的时候就非常讨厌先考虑i 是先加还是后加....

于是乎我学了delphi.....
天闲
天闲
就是啊!i=i+1;为啥非要弄个i++ ,++i?
再学校的时候就非常讨厌先考虑i 是先加还是后加....
微笑de辛翼
微笑de辛翼
好吧,一句没看懂
lion_ry
lion_ry
图片里面的单词拼错了
返回顶部
顶部