Part of the problem with more 'realistic' variable names is that some people
will fixate on the names and fail to notice the general principal. For
example

def has_min_elements?(foo, bar)
  foo.size >= bar
end

might be harder to read for someone new but

def bookshelf_has_at_least(bookshelf, number_of_books)
  bookshelf.size > number_of_books
end

will have some people thinking about bookshelves and completely missing the
fact that 'bookshelf' is an arbitrary name for an instance of an Array or
Hash (possibly a String even).

I used to teach Prolog and the unlearning that had to take place after they
wrote their first family tree program because the predicates had names like
isa, parent and grandparent was a constant impediment. They understood the
program very quickly but completely failed to understand Prolog. I ended up
having to do search and replace on predicate and variable names to turn them
into gibberish just to show them that the predicate and variable names had
nothing to do with the how the program worked.

Learning means getting out of your comfort zone.

Besides Foo, Bar and Baz (along with xyzzy and plover) have a long and
distinguished history.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to