: 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