Hi --

On Thu, 8 Feb 2007, Nikolai Weibull wrote:

> On 2/7/07, dblack / wobblini.net <dblack / wobblini.net> wrote:
>> Hi --
>> 
>> On Wed, 7 Feb 2007, Nikolai Weibull wrote:
>> 
>> > On 2/6/07, dblack / wobblini.net <dblack / wobblini.net> wrote:
>> >> Hi --
>> >>
>> >> On Tue, 6 Feb 2007, Nikolai Weibull wrote:
>> >>
>> >> > On 2/6/07, Yukihiro Matsumoto <matz / ruby-lang.org> wrote:
>> >> >
>> >> >> Both having ordAt(index) or making String#ord to return codepoint of
>> >> >> the first character are trivial.  We have to evaluate pros and cons
>> >> >> first.
>> >> >
>> >> > Like the fact that #ordAt isn't a very Rubyish name.  I really
>> >> > appreciate the fact that the core and standard libraries use very
>> >> > consistent naming schemes, where most methods have only one word in
>> >> > them, thus avoiding the whole
>> >> >
>> >> 
>> came-case-versus-internal-upcasing-versus-lowline-separating-naming-scheme
>> >> > holy-war.
>> >>
>> >> There are quite a few multi-word methods (respond_to?, values_at,
>> >> to_i, instance_methods, etc.), all with the underscore style.  I agree
>> >> there's no "war" aspect to it, but there's definitely a traditional
>> >> style.
>> >
>> > What I meant was that it seems that people have been clever enough to
>> > avoid multi-word methods as far as possible, so that there really
>> > never has to be a discussion about it.  I know that the naming
>> > conventions are camel-case for constants and lowlines for everything
>> > else, but I realized early while reading through the early
>> > documentation that every method seemed to have a very good single-word
>> > name.
>> 
>> irb(main):006:0> Object.new.methods.size
>> => 40
>> irb(main):007:0> Object.new.methods.grep(/_/).size
>> => 17
>> 
>> I guess __send__ and __id__ shouldn't count :-)  It's still a large
>> percentage, though.  I don't think anyone's ever tried to avoid
>> multi_word methods, except maybe when they get too big (though that
>> can be handy too, in cases like instance_variable_get where the
>> bigness draws attention to the possible inelegance of using the
>> method).
>
> Well, here's a another way of calculating the percentage (and gives a
> percentage one fourth of your 43%):
>
> String.new.public_methods(false).size /
> String.new.public_methods(false).grep(/_/).size [1]
>
> which gives us 11%.  Anyway, my feeling has always been that Ruby has
> managed to use far simpler names for methods than many other
> languages, which I appreciate.

I agree.  I don't think it's because people aren't willing to commit
to the underscore style (at least in the core/standard library) -- but
for whatever reason, the method-naming tends to be very appropriate
and elegant.


David

-- 
Q. What is THE Ruby book for Rails developers?
A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black)
    (See what readers are saying!  http://www.rubypal.com/r4rrevs.pdf)
Q. Where can I get Ruby/Rails on-site training, consulting, coaching?
A. Ruby Power and Light, LLC (http://www.rubypal.com)