I think for a "Pair" class, getKey and getValue has no meaning. A pair need
not be a key/value pair. A key and a value are required for a map entry.
first()/second() or left()/right(), both make sense to me. Perhaps removing
getKey() and getValue() methods should be removed.

On Thu, May 5, 2016 at 12:18 AM, Chris Hostetter <hossman_luc...@fucit.org>
wrote:

>
> : There is no harm in having multiple 'getter' names. getKey() and
> getValue()
> : doesn't offer enough explanation  in many cases where it is used
>
> getKey and getValue are fundementaly descriptive names -- particularly
> when they are the only methods in a class named "Pair".
>
> As soon as you start adding more methods, with names that are in no way
> descriptive, *alongs side of* the exsting getKey and getValue methods, you
> not only add methods that are confusing, but you increase the confusion as
> to the meanining behind the other names.
>
> the fact that these methods do *exactly* the same thing should be a big
> fucking red flag that people looking at the API (w/o looking at hte
> implementation) will wonder "what do i use each of these methods for? how
> is getKey() diff from _1()?"
>
> *THAT* is why you need javadocs.
>
> If the entirety of the class was...
>
> class Pair<K,V> {
>   K _1();
>   V _2();
> }
>
> ...then no one would bat an eye, but as soon as you start adding redundent
> methods, you raise questions about how they are diff and why they exist.
>
> Imagine for a moment that the "Closable" interface looked like this...
>
> interface Closable {
>   void close();
>   void close_1();
> }
>
>
> ...wouldn't you wnat some fucking javadocs on those methods so you'd have
> some clue what the point of them where?
>
>
> :
> : On Wed, May 4, 2016 at 11:56 PM, Scott Blum <dragonsi...@gmail.com>
> wrote:
> :
> : > Or left() and right()
> : >
> : > On Wed, May 4, 2016 at 2:18 PM, Ishan Chattopadhyaya <
> : > ichattopadhy...@gmail.com> wrote:
> : >
> : >> Another option to consider could be: first() and second()
> : >>
> : >> C++ uses it: http://www.cplusplus.com/reference/utility/pair/
> : >>
> : >> On Wed, May 4, 2016 at 11:44 PM, Noble Paul <noble.p...@gmail.com>
> wrote:
> : >>
> : >>> The names getKey() and getValue() are not always relevant for a pair
> : >>> object. it's not necessarily a key and value. In that case, it makes
> sense
> : >>> to use the index .
> : >>>
> : >>>
> : >>> This is a convention followed Scala. Tuple2 (
> : >>> http://www.scala-lang.org/api/rc2/scala/Tuple2.html ) to Tuple10 (
> : >>> http://www.scala-lang.org/api/rc2/scala/Tuple10.html)
> : >>>
> : >>> On Wed, May 4, 2016 at 4:32 AM, Chris Hostetter <
> : >>> hossman_luc...@fucit.org> wrote:
> : >>>
> : >>>>
> : >>>> WTF is this?
> : >>>>
> : >>>> why are these (poorly named) alternatives for getKey and getValue
> : >>>> useful?
> : >>>>
> : >>>>
> : >>>> : Date: Tue,  3 May 2016 15:09:08 +0000 (UTC)
> : >>>> : From: no...@apache.org
> : >>>> : Reply-To: dev@lucene.apache.org
> : >>>> : To: comm...@lucene.apache.org
> : >>>> : Subject: lucene-solr:master: added a couple of extra methods
> : >>>> :
> : >>>> : Repository: lucene-solr
> : >>>> : Updated Branches:
> : >>>> :   refs/heads/master 0ebe6b0f7 -> 184da9982
> : >>>> :
> : >>>> :
> : >>>> : added a couple of extra methods
> : >>>> :
> : >>>> :
> : >>>> : Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
> : >>>> : Commit:
> : >>>> http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/184da998
> : >>>> : Tree:
> : >>>> http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/184da998
> : >>>> : Diff:
> : >>>> http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/184da998
> : >>>> :
> : >>>> : Branch: refs/heads/master
> : >>>> : Commit: 184da9982c55fac4735abf01607e4f8f70eb5749
> : >>>> : Parents: 0ebe6b0
> : >>>> : Author: Noble Paul <noble.p...@gmail.com>
> : >>>> : Authored: Tue May 3 20:34:36 2016 +0530
> : >>>> : Committer: Noble Paul <noble.p...@gmail.com>
> : >>>> : Committed: Tue May 3 20:34:36 2016 +0530
> : >>>> :
> : >>>> :
> ----------------------------------------------------------------------
> : >>>> :  solr/solrj/src/java/org/apache/solr/common/util/Pair.java | 8
> : >>>> ++++++++
> : >>>> :  1 file changed, 8 insertions(+)
> : >>>> :
> ----------------------------------------------------------------------
> : >>>> :
> : >>>> :
> : >>>> :
> : >>>>
> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/184da998/solr/solrj/src/java/org/apache/solr/common/util/Pair.java
> : >>>> :
> ----------------------------------------------------------------------
> : >>>> : diff --git
> : >>>> a/solr/solrj/src/java/org/apache/solr/common/util/Pair.java
> : >>>> b/solr/solrj/src/java/org/apache/solr/common/util/Pair.java
> : >>>> : index 423f94c..f87323c 100644
> : >>>> : --- a/solr/solrj/src/java/org/apache/solr/common/util/Pair.java
> : >>>> : +++ b/solr/solrj/src/java/org/apache/solr/common/util/Pair.java
> : >>>> : @@ -27,6 +27,14 @@ public class Pair<K, V> implements
> Serializable {
> : >>>> :
> : >>>> :    private V value;
> : >>>> :
> : >>>> : +  public K _1() {
> : >>>> : +    return key;
> : >>>> : +  }
> : >>>> : +
> : >>>> : +  public V _2() {
> : >>>> : +    return value;
> : >>>> : +  }
> : >>>> : +
> : >>>> :    public V getValue() {
> : >>>> :      return value;
> : >>>> :    }
> : >>>> :
> : >>>> :
> : >>>>
> : >>>> -Hoss
> : >>>> http://www.lucidworks.com/
> : >>>>
> : >>>>
> ---------------------------------------------------------------------
> : >>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> : >>>> For additional commands, e-mail: dev-h...@lucene.apache.org
> : >>>>
> : >>>>
> : >>>
> : >>>
> : >>> --
> : >>> -----------------------------------------------------
> : >>> Noble Paul
> : >>>
> : >>
> : >>
> : >
> :
> :
> : --
> : -----------------------------------------------------
> : Noble Paul
> :
>
> -Hoss
> http://www.lucidworks.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>

Reply via email to