瞎扯淡 代码要以容易懂为好

chenge · 2014年05月03日 · 最后由 chenge 回复于 2014年05月10日 · 2008 次阅读

不应该刻意写成一行,首先还是考虑怎样更容易看懂。加密的除外。

首先得先有能力写成一行,然后才有资格讨论一行好不好...

我以前一直是以 不使用分号把功能写到一行为目标 现在也是 不过现在为了照顾可读性做了一点妥协

我习惯先尽量写成一行,在保持一句话的情况下适当换行,比如

records = model
  .where(params[:where].permit(...))
  .order(params[:order].permit(...))
  .paginate(page: params[:page], per_page: params[:per_page])

楼主其实想说明的是写代码应该清晰易懂,容易维护,这当然没错。不过,这个说明有些模糊,就是清晰易懂的标准。 相对于一个优秀的程序员,某些清晰易懂的代码,对于一般的程序员就可能难以理解。同样,对业务的理解程度也会导致这种差距。

所以,“不应该刻意写成一行”这种硬性标准是不准确且不切实际的。

优秀,不在于做过多少年开发,不在于有多少经验,而在于他对自己写出的每一行代码的态度。 对于每一个程序员,都应该抱着精亦求精的态度去写每一行代码

本人在开发过程中,见过有多年开发经验的'高级程序员'写出如下代码,

Area.published.inject({}) do |result, area|
  result[area.id] = area
  result
end

而其实,Rails 已经给我们提供了一个非常实用的方法 index_by。如果,他们在多次写出这种代码时候还不会去思考是否应该合理简化工作时,那,他就不是一个优秀的程序员。

#4 楼 @hbin 不知道某个 API 不是挺正常的。

有的时候写成一行是心理作用(?)总觉得分多行会多建好多对象内存占用更大……

楼主的很多帖子都感觉是在 ruby-china 发微博啊

#7 楼 @alsotang 我认为把事情说清楚,话少为好。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号