James Britt
6/12/2009 6:35:00 AM
Marc Heiler wrote:
>> A really nice write-up of the common sense we all sometimes ignore.
>> The emphasis on MINASWAN is particularly welcome.
> Now to a few points I would like to make about the "Ruby best
> practices":
>
...
>
> - As far as changes to ruby are concerned... if i would have the
> knowledge and time, I would redo ruby. I would simplify it a lot. That
> would be my first goal. Yes, some of you can not believe this, but I
> think ruby is not simple enough. :) Another change I would make would be
> to extend documentation a lot. I mean, I think if stdlib components have
> a documentation that is lacking, I would throw it out (or improve on
> that documentation), but it really is annoying to have a lacking
> documentation....
A number of people would agree with you on both points.
>
>
> - 'How do I do foo?â?, but first apply some due diligence. Use Google.
> Use ruby-doc.org'
>
> I disagree on that. I think if people want to know something, they
> should ask. I dont think it helps to tell people to go away and learn
> ruby first, before asking questions. Other than that I agree with the
> rest of what was written there.
If someone really does not know even where to begin to do something,
then fine. But there are many cases where Google really does turn up
the answer right away. Such as, How do I reverse a string?
I don't want to discourage anyone from asking questions, but there are
times when you get the feeling the poster really just can't be bothered
doing anything more than posting to the list. And, like it or not,
there will be people who will react poorly to such a post, so it is in
the newbie's interest to at least understand how some questions may be
received.
>
>
> - Be specific
>
> Agreed completely.
>
> - Don't threadjack.
>
> Not sure. I think it depends on the definition of threadhijacking.
> Personally I think as long as the DISCUSSION FLOW is still going on, it
> is totally fine to "divert" a bit. It really depends on the issue at
> hand as well.
>
> To me it rather sounds as if someone is trying to impose his point of
> view onto me, as if I am required to follow a certain way to "discuss"
> something.
>
> People should really be freely able to discuss it, and if the thread
> moves in a wrong direction, people can point it out easily. I really
> dont think this should be part of "best practise".
Well, suppose I replied to you post by deleting all the text and then
asking, "How do I reverse a string?" And others reply with answers to
that question. It ends up making it harder to find and follow
information. I don't seem meandering topics in long threads as
threadjacking; it's the out-of-the-blue topic shift that's troublesome.
>
> - Repetition is not an argument
>
> Not repetition, but whatever was written may very well be valid, even if
> someone disagrees. People will rarely change their opinion anyway.
> I really dont see the problem here. People can have different opinions
> all the time. They usually dont try to *convince* others either - this
> is futile - but they want to make strong points. It is as if one is
> self-reflecting about his/her own arguments...
Sometimes people do care if others change there mind (for example,
convincing matz to make a language change), and they should realize that
if a particular phrasing or example isn't working, then something else
is needed. Different phrasing, a new example, some other analogy. (But
not ALL CAPS. :) )
>
> - Watch for perma-threads
>
> Disagree here. If I would always have to dig through the whole list, I
> would never even bother. It would just be too much work.
Would you rather *others* do the work of answering questions that have
been answered before? "Dig through the whole" list makes it sound like
you are manually sorting through stacks of papers. There are
searchable archives. I gave links. It doesn't get any easier.
Plus, people who show that they've made some effort to first help
themselves will gain more goodwill from others, and get more and better
responses.
>
> - Walk the walk
>
> This is problematic. I agree partially, but since facets was mentioned:
> I think the idea of facets is fine, but it should be in stdlib, and if
> it is not I dont really see a need to use something like facets. I just
> bundle along the changes I want to have into my app anyway. (The
> situation would be different if facets would be an official "standard").
>
> "Then explain why it needs to be added to the language rather than used
> as a gem."
>
> This is futile. There were many threads about this or that addition,
> most were rejected, and this is EXACTLY why facets was started in the
> first place (and to not have too many different projects face the same
> dilemma)
That may prove the point: if something can be coded up in plain ruby,
then why make the std-lib even bigger than it already is?
>
> And I also think proposals to the ruby language in most situations are
> just a waste of time for anyone who does it. Maybe I am wrong here, but
> I would be interested to see solid numbers on that, i.e. how many
> proposed something, and how much was rejected/accepted. I think the
> number of rejections will be largely higher - so much that I would say
> it is futile... ;)
Rejections may be high, but not futile. ruby-core may have posts
regarding accepted changes. I think the rcr site used to have stats on
that. It *has* happened.
>
> My experience here is that, given a large pool of people, there will
> ALWAYS be a group who absolutely HATE something. (This is the cool thing
> in ruby btw, because it is so flexible that it doesnt really matter.
> Just extend a class in ruby with your changes, and thats it.)
>
> Anyway, I guess anything that helps newcomers is a good thing.
> Personally I would focus much more on the "do's" than on the "don'ts". I
> found it easier to focus on what is "good", than what is a "strict rule
> you should never break" which could invoke happy trolls trolling all
> over the place with asking pseudo-trolling questions.
I don't think I claimed anything was a strict rule. They're guidelines.
Suggestions for civil discussion, and open to civil debate.
Having people be aware of these things is ultimately the goal, even when
we disagree on the details.
--
James Britt
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.neurogami.com - Smart application development