home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / lang / cplus / 16538 < prev    next >
Encoding:
Text File  |  1992-11-18  |  2.4 KB  |  61 lines

  1. Newsgroups: comp.lang.c++
  2. Path: sparky!uunet!charon.amdahl.com!pacbell.com!ames!saimiri.primate.wisc.edu!sdd.hp.com!elroy.jpl.nasa.gov!usc!rpi!psinntp!psinntp!uu0465!andrew
  3. From: andrew@tagsys.com (Andrew Gideon)
  4. Subject: Complexity in the eyes of the beholder?
  5. Message-ID: <1992Nov18.024553.24081@tagsys.com>
  6. Organization: TAG Systems inc.
  7. Date: Wed, 18 Nov 1992 02:45:53 GMT
  8. Lines: 51
  9.  
  10. I have been having an extended discussion with a coworker.
  11. This is someone whom I respect, and with whom I enjoy
  12. working a great deal.  But this discussion is disturbing
  13. to me.  He claims that I use too many layers of abstraction.
  14.  
  15. Specifics: I am of the "small class" and "mixin" school.
  16. I tend to write small classes, with tight functionality.
  17. I then combine these into classes providing greater and
  18. greater functionality.
  19.  
  20. The purpose of this is to achieve a comprehendable
  21. system.  If I make a single class too complex, I find 
  22. that *I* cannot grasp the functionality of the class.  I
  23. certainly wouldn't expect another to do so.
  24.  
  25. On the other hand, I can grasp a simple class entirely:
  26. interface and implementation.  When I "move up" a level,
  27. I can drop the implementation information, and need
  28. retain only the interface information.  The class becomes
  29. a black box.
  30.  
  31. To me, I achieve my goal (except when I violate my own
  32. rules - which does happen more frequently than I like {8^).
  33. But this coworker claims that the many levels are too
  34. complex to follow.  In trying to understand a class, he
  35. is forced to recurse too frequently and too far.
  36.  
  37. Unfortunately, I do understand his point.  I too have been
  38. frustrated similarly - by my own code!  But this seems an
  39. acceptable cost for having a system that can eventually 
  40. be understood.  Besides, I seem to be used to this form
  41. of reverse engineering.
  42.  
  43. Am I wrong?  Is he?  Am I missing something obvious?
  44. Any comments welcome.
  45.  
  46. Thanks for your attention.
  47.  
  48.     - Andrew Gideon
  49.  
  50.  
  51.  
  52. === 
  53.  -----------------------------------------------------------
  54. | Andrew Gideon              |                              |
  55. | Consultant                 |                              |
  56. |                            |   TAG Systems inc.           |
  57. | Tel: (201) 890-7189        |   D2-181 Long Hill Road      |
  58. | Fax: (201) 890-1581        |   Little Falls, N.J., 07424  |
  59. | andrew@tagsys.com          |                              |
  60.  -----------------------------------------------------------
  61.