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


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

Re: Best Way to Pass Info Between Objects?

From Martin Gregorie <martin@address-in-sig.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Best Way to Pass Info Between Objects?
Date 2012-01-08 22:40 +0000
Organization UK Free Software Network
Message-ID <jed608$j13$2@localhost.localdomain> (permalink)
References <Xns9FD47717636DCjpnasty@94.75.214.39> <4dWdnRF6pOQcUJTSnZ2dnUVZ_vidnZ2d@earthlink.com> <Xns9FD4882D25253jpnasty@94.75.214.39> <54qdnTd-nYZBj5fSnZ2dnUVZ_q2dnZ2d@earthlink.com>

Show all headers | View raw


On Sun, 08 Jan 2012 14:04:05 -0800, Patricia Shanahan wrote:

> On 1/8/2012 10:22 AM, Novice wrote:
>> Patricia Shanahan<pats@acm.org>  wrote in
>> news:4dWdnRF6pOQcUJTSnZ2dnUVZ_vidnZ2d@earthlink.com:
>>
>>> On 1/8/2012 8:41 AM, Novice wrote:
>>>> Sorry, that's probably not the best of subject lines but I'm having
>>>> trouble coming up with a concise one....
>>>>
>>>> I'm trying to reason out the best way to pass information from an
>>>> instantiating class to an instantiated class. So, let's say class Foo
>>>> invokes class Bar to do something. Bar needs some specific
>>>> information from Foo to do its job. What is the best way to pass this
>>>> information from Foo to Bar?
>>> ...
>>>> I'm not sure if there is a generally agreed-upon formula here or
>>>> whether it is more a case of individual style and preference. I'd be
>>>> very interested in your comments on this subject. Right now, I feel
>>>> like I'm being pretty inconsistent in my techniques and would like to
>>>> standardize them along the best possible lines.
>>>>
>>>>
>>> Here is one programming process approach that often simplifies these
>>> questions: Write the Bar unit tests in parallel with designing Bar.
>>>
>>> If the Bar design works well for both unit testing and use by a Foo,
>>> it will probably be a reasonably robust module that does not need to
>>> be changed too often because of changes to other modules.
>>>
>>> Patricia
>>>
>>>
>> Thanks everyone for the suggestions. Obviously, I'm going to need to
>> increase the size of my Java library and allocate some time for reading
>> all all of these things....
>>
>> But in the meantime, are there any general rules I can use to make
>> these decisions for code I am developing now? Or do I really need to
>> master several books first?
>>
>>
> That is why I suggested unit test during design, as a complement to the
> book recommendations. I have no problem with the books that have been
> proposed, but it will take time to read, absorb, and apply them. You can
> apply unit test during design immediately.
>
+1

..but don't forget that the unit tests *must* be written from the 
specifications and *NEVER* from looking at the code. A good half-way 
house, which I use a lot, is to write what's effectively an abstract 
class with the entire class specification spelled out in the class- and 
method-level comments, with just enough meat in the methods, i.e. return 
statements, to allow the resulting source file to be compiled. Then I 
generate the javadocs and use only these as the basis for writing the 
unit tests.

Actually, I've usually completed and compiled the class before I write 
the unit tests, but I'd suggest you write the tests first until you get 
into the required 'no peeking' frame of mind needed for writing the tests 
from the specifications and only the specifications. There are two 
additional benefits: (1) you get into the habit of writing worth-while 
class and method documentation and (2) this forces you to think about how 
your new class will actually be used. This will probably improve both the 
design and documentation if you alter the design to overcome usability 
problems as you find them. 


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

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


Thread

Best Way to Pass Info Between Objects? Novice <novice@example..com> - 2012-01-08 16:41 +0000
  Re: Best Way to Pass Info Between Objects? Patricia Shanahan <pats@acm.org> - 2012-01-08 09:08 -0800
    Re: Best Way to Pass Info Between Objects? Novice <novice@example..com> - 2012-01-08 18:22 +0000
      Re: Best Way to Pass Info Between Objects? markspace <-@.> - 2012-01-08 10:45 -0800
      Re: Best Way to Pass Info Between Objects? Lew <noone@lewscanon.com> - 2012-01-08 11:49 -0800
      Re: Best Way to Pass Info Between Objects? Patricia Shanahan <pats@acm.org> - 2012-01-08 14:04 -0800
        Re: Best Way to Pass Info Between Objects? Martin Gregorie <martin@address-in-sig.invalid> - 2012-01-08 22:40 +0000
          Re: Best Way to Pass Info Between Objects? Patricia Shanahan <pats@acm.org> - 2012-01-08 15:56 -0800
            Re: Best Way to Pass Info Between Objects? Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-01-09 06:34 -0400
              Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-09 12:39 -0500
                Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-09 12:42 -0500
                Re: Best Way to Pass Info Between Objects? Lew <lewbloch@gmail.com> - 2012-01-09 13:43 -0800
                Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-09 17:26 -0500
                Re: Best Way to Pass Info Between Objects? Lew <noone@lewscanon.com> - 2012-01-10 06:47 -0800
                Re: Best Way to Pass Info Between Objects? Patricia Shanahan <pats@acm.org> - 2012-01-09 14:26 -0800
                Re: Best Way to Pass Info Between Objects? Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-01-09 19:06 -0400
                Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-09 18:46 -0500
                Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-09 19:52 -0500
                Re: Best Way to Pass Info Between Objects? Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-01-10 06:43 -0400
              Re: Best Way to Pass Info Between Objects? Martin Gregorie <martin@address-in-sig.invalid> - 2012-01-10 02:11 +0000
              Re: Best Way to Pass Info Between Objects? Gene Wirchenko <genew@ocis.net> - 2012-01-09 20:17 -0800
              Re: Best Way to Pass Info Between Objects? Lew <noone@lewscanon.com> - 2012-01-10 06:43 -0800
                Re: Best Way to Pass Info Between Objects? Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-01-10 19:13 -0400
      Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-09 14:30 -0500
        Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-09 17:28 -0500
          Re: Best Way to Pass Info Between Objects? Martin Gregorie <martin@address-in-sig.invalid> - 2012-01-10 02:24 +0000
            Re: Best Way to Pass Info Between Objects? Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-01-10 06:35 -0400
              Re: Best Way to Pass Info Between Objects? Martin Gregorie <martin@address-in-sig.invalid> - 2012-01-10 22:48 +0000
  Re: Best Way to Pass Info Between Objects? v_borchert@despammed.com (Volker Borchert) - 2012-01-08 17:17 +0000
  Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-08 13:43 -0500
    Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-08 19:01 -0500
  Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-08 14:10 -0500
    Re: Best Way to Pass Info Between Objects? Jeff Higgins <jeff@invalid.invalid> - 2012-01-08 14:41 -0500
  Re: Best Way to Pass Info Between Objects? Roedy Green <see_website@mindprod.com.invalid> - 2012-01-09 04:13 -0800

csiph-web