H
Hal Fulton
Sometimes I stare at the monitor and think: Is it too late
to change majors?
I'm about to start a rewrite of Tycho in my <sarcasm>copious</sarcasm>
spare time.
For those curious about this tool, see
http://tycho.rubyforge.org
or the RubyConf slides at
http://rubyhacker.com/tycho/slides
The basic paradigm is a hierarchy of categories, each consisting
of a pile of notes. But structuring the code in proper OO fashion
is nontrivial in my view.
I have spent much time scribbling on napkins and muttering MVC
jargon to myself, but to little avail. I'm confused and my
brain is itching.
As one of the slides indicates, part of my confusion is different
ways of thinking about what a "note" is.
Sometimes I perceive it as:
- an object of a certain class
- the actual text of the note
- the text plus its metadata
- the YAML'd version of the text+metadata
- the key used to look up the record in the db
- the text field in which the text is displayed
- the parent widget to which that text field belongs
- or something else.
I like the idea of composing an object of smaller objects --
for example, store all the GUI stuff in note.widget or
note.gui or something.
But then (among other complications) the note has a title
(note.title) which is also stored in the GUI (note.widget.title) --
these must be kept in sync. :/ And so on.
What are your mental (or other) tools for dealing with this sort
of complexity?
Thanks,
Hal
to change majors?
I'm about to start a rewrite of Tycho in my <sarcasm>copious</sarcasm>
spare time.
For those curious about this tool, see
http://tycho.rubyforge.org
or the RubyConf slides at
http://rubyhacker.com/tycho/slides
The basic paradigm is a hierarchy of categories, each consisting
of a pile of notes. But structuring the code in proper OO fashion
is nontrivial in my view.
I have spent much time scribbling on napkins and muttering MVC
jargon to myself, but to little avail. I'm confused and my
brain is itching.
As one of the slides indicates, part of my confusion is different
ways of thinking about what a "note" is.
Sometimes I perceive it as:
- an object of a certain class
- the actual text of the note
- the text plus its metadata
- the YAML'd version of the text+metadata
- the key used to look up the record in the db
- the text field in which the text is displayed
- the parent widget to which that text field belongs
- or something else.
I like the idea of composing an object of smaller objects --
for example, store all the GUI stuff in note.widget or
note.gui or something.
But then (among other complications) the note has a title
(note.title) which is also stored in the GUI (note.widget.title) --
these must be kept in sync. :/ And so on.
What are your mental (or other) tools for dealing with this sort
of complexity?
Thanks,
Hal