看了 ruby-china 的代码,发现很少有注释。是因为约定大于配置的原则吗? 这对于新手想快速理解有些困难啊,亚历山大。
不知道其他朋友是否有这种感觉? 是否有合理的阅读源代码的方法推荐?
其实吧,一般的程序员都很懒的,在没有获取使用者任何报酬的情况下没有义务让大家读得那么轻松,自己明白在干什么就好了,即使有的注释也主要为自己服务。既然是开源的,欢迎广大使用者把注释加上然后提上去,作者会很乐意 merge 的,哇哈哈
建议大家看看.... github 是怎么做的... http://zachholman.com/talk/ruby-patterns
我非常赞同 holman 的说法....
没有什么代码比母语看起来更直接...even ruby...
有两种情况需要写代码注释:
以 Rails 的一段代码为例(来自 active_support/core_ext/array/grouping.rb)
# Splits or iterates over the array in groups of size +number+,
# padding any remaining slots with +fill_with+ unless it is +false+.
#
# %w(1 2 3 4 5 6 7).in_groups_of(3) {|group| p group}
# ["1", "2", "3"]
# 省略部分内容....
def in_groups_of(number, fill_with = nil)
if fill_with == false
collection = self
else
# size % number gives how many extra we have;
# subtracting from number gives how many to add;
# modulo number ensures we don't add group of just fill.
padding = (number - size % number) % number
collection = dup.concat([fill_with] * padding)
end
# 省略部分代码
end
最上方的注释属于第一类,中间部分的注释则是第二类。像 ruby-china 这种项目,本身没有提供什么公共模块,也不涉及特别复杂的逻辑,注释少是比较正常的吧~~
TomDoc 这只是个注释风格约定么?