Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #22047

Re: refactoring problem

From Arved Sandstrom <asandstrom2@eastlink.ca>
Newsgroups comp.lang.java.programmer
Subject Re: refactoring problem
References <7fssg8dakvofmv6pk3sfvp5jmaku55vgmm@4ax.com>
Message-ID <kewPs.130004$Sl.6860@newsfe27.iad> (permalink)
Organization Public Usenet Newsgroup Access
Date 2013-02-03 12:27 -0400

Show all headers | View raw


On 02/03/2013 10:30 AM, Roedy Green wrote:
> Consider the following refactoring problem.
>
> There is a hunk of almost identical code that appears multiple times.
> It sets up 6 local variables.
>
> I would like to encapsulate it.
>
> The obvious way to handle it is to make all the variables instance.
> But they are ARE local. (I might be using threads)
> Further their declarations would be scattered to the winds.
>
> I could create a separate class just to hold the values.  This is
> tedious, but it may be the only way.

I think that's a decent way of handling this problem in Java.

> I think, why can methods have multiple inputs, but only one output? I
> have been thinking that for about 50 years, and it ,seems unlikely to
> change soon.

How exactly would you expect multiple outputs to work? If you've been 
thinking about this for about 50 years, then we're talking pretty much 
any programming language out there. Apart from the technique of defining 
a single object or struct to hold multiple return values, you have other 
languages that support returning lists or tuples. You do have languages 
(Scheme, for example) that return "true" multiple values from 
procedures, I don't see that their techniques have large advantages over 
tuples myself.

And then of course there are things like generators, or for example, 
lazy evaluation of a map function over a list.

What else would you have in mind?

[ SNIP ]

AHS

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

refactoring problem Roedy Green <see_website@mindprod.com.invalid> - 2013-02-03 06:30 -0800
  Re: refactoring problem Martin Gregorie <martin@address-in-sig.invalid> - 2013-02-03 16:23 +0000
  Re: refactoring problem Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-02-03 12:27 -0400
    Re: refactoring problem Roedy Green <see_website@mindprod.com.invalid> - 2013-02-03 12:35 -0800
      Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-03 15:37 -0500
    Re: refactoring problem Leif Roar Moldskred <leifm@dimnakorr.com> - 2013-02-03 15:21 -0600
      Re: refactoring problem Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-02-03 17:38 -0400
      Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-03 16:46 -0500
    Re: refactoring problem Lew <lewbloch@gmail.com> - 2013-02-03 14:36 -0800
  Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-03 11:34 -0500
  Re: refactoring problem Joshua Cranmer <Pidgeot18@verizon.invalid> - 2013-02-03 11:54 -0600
    Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-03 13:13 -0500
      Re: refactoring problem Knute Johnson <nospam@knutejohnson.com> - 2013-02-03 10:20 -0800
        Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-03 13:32 -0500
          Re: refactoring problem Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2013-02-03 10:50 -0800
            Re: refactoring problem Robert Klemme <shortcutter@googlemail.com> - 2013-02-03 21:38 +0100
            Re: refactoring problem "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-02-04 08:11 +0000
              Re: refactoring problem Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2013-02-04 03:56 -0800
      Re: refactoring problem Silvio <silvio@internet.com> - 2013-02-04 13:21 +0100
        Re: refactoring problem Lew <lewbloch@gmail.com> - 2013-02-04 12:35 -0800
          Re: refactoring problem Silvio <silvio@internet.com> - 2013-02-04 22:15 +0100
            Re: refactoring problem Lew <lewbloch@gmail.com> - 2013-02-04 13:49 -0800
              Re: refactoring problem Silvio <silvio@internet.com> - 2013-02-04 23:51 +0100
            Re: refactoring problem Lew <lewbloch@gmail.com> - 2013-02-04 13:53 -0800
              Re: refactoring problem Silvio <silvio@internet.com> - 2013-02-04 23:48 +0100
                Re: refactoring problem Lew <lewbloch@gmail.com> - 2013-02-04 17:08 -0800
                Re: refactoring problem Silvio <silvio@internet.com> - 2013-02-05 10:07 +0100
                Re: refactoring problem Lew <lewbloch@gmail.com> - 2013-02-05 13:13 -0800
                Re: refactoring problem Jim Gibson <jimsgibson@gmail.com> - 2013-02-05 13:20 -0800
                Re: refactoring problem Lew <lewbloch@gmail.com> - 2013-02-05 13:31 -0800
                Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-05 21:42 -0500
            Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-04 18:33 -0500
          Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-04 18:32 -0500
            Re: refactoring problem Martin Gregorie <martin@address-in-sig.invalid> - 2013-02-05 01:50 +0000
          Re: refactoring problem Joshua Cranmer <Pidgeot18@verizon.invalid> - 2013-02-05 10:04 -0600
            Re: refactoring problem Gene Wirchenko <genew@telus.net> - 2013-02-05 10:38 -0800
              Re: refactoring problem Joshua Cranmer <Pidgeot18@verizon.invalid> - 2013-02-05 13:53 -0600
            Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-05 21:43 -0500
              Re: refactoring problem markspace <markspace@nospam.nospam> - 2013-02-05 19:15 -0800
                Re: refactoring problem Arne Vajhøj <arne@vajhoej.dk> - 2013-02-08 23:58 -0500
  Re: refactoring problem Joerg Meier <joergmmeier@arcor.de> - 2013-02-05 11:09 +0100

csiph-web