App with lots of business logic

J

Josh Cheek

[Note: parts of this message were removed to make it a legal post.]

Hi, starting basically my biggest project to date (a Rails app). I wasn't
initially intimidated, but the more we talk about the process of how we get
from A to B, the more I realize that it involves tons of conditional,
overridable, partially applied until approved but maybe gets rolled back or
overridden, messy rules, and very large (for me anyway) domain of
information being collected, generated, queried and acted upon.

I'm usually pretty confident, because I work hard and I reflect a lot, and
am able to anticipate and overcome quite a few hurdles due to that. But
right now I'm really worried that any small mistake or poor decision in how
I design or implement it could reverberate out and have an extremely
negative impact on the project. Done right it will probably be very
convoluted, done wrong it will be a nightmare.

I want to do it the right way, so that I can learn good principles, have
something I enjoy working on and am proud of, and gain the confidence and
capacity to continue to work on projects of this magnitude in the future.

What resources (especially books, but I'm open) would you suggest I read to
prepare myself to handle the scope and complexity of this project?
 
J

Jason Stewart

Hi Josh,

It's a Microsoft book, but reading Code Complete a couple of times has
given me a good grasp on how to deal with challenges of any size in
software design. I cant think of any other single book that covers the
same material in a better way. In fact, before I read this, I was
thinking about re-reading it again.

Cheers,
Jason Stewart
 
S

Stuart Ellis

I'd second Code Complete. Like the Pragmatic Programmer, it's a really a
book for teaching you ways of thinking. The code examples are brief and
in Java or C++; I'm not sure why it was published by Microsoft Press, as
there's nothing Microsoft-specific in it.

Design Patterns in Ruby by Russ Olsen is also fantastic.
 
E

Edward Middleton

Hi, starting basically my biggest project to date (a Rails app). I wasn't
initially intimidated, but the more we talk about the process of how we get
from A to B, the more I realize that it involves tons of conditional,
overridable, partially applied until approved but maybe gets rolled back or
overridden, messy rules, and very large (for me anyway) domain of
information being collected, generated, queried and acted upon.

I'm usually pretty confident, because I work hard and I reflect a lot, and
am able to anticipate and overcome quite a few hurdles due to that. But
right now I'm really worried that any small mistake or poor decision in how
I design or implement it could reverberate out and have an extremely
negative impact on the project. Done right it will probably be very
convoluted, done wrong it will be a nightmare.

Look at what approaches worked for other people. Martin Fowler has some
pretty good articles[1]. These are all pretty good books.

Analysis Patterns: Reusable Object Models
ISBN 0201895420

Patterns of Enterprise Application Architecture
ISBN 0321127420

Enterprise Integration Patterns: Designing, Building, and Deploying
Messaging Solutions
ISBN 0321200683

Edward


1. http://martinfowler.com/articles.html
 
J

Josh Cheek

[Note: parts of this message were removed to make it a legal post.]

Alright, I just ordered Code Complete. That book is very long, though, any
recommendations for chapters that were particularly worthwhile, or that you
might be particularly applicable for me would be appreciated.

I also picked up Patterns of Enterprise Application Architecture, I'll be
reading the sections on "The major approaches to organizing business logic"
and "handling concurrency for data that spans multiple transactions". I had
a lot of difficulty with that last one on one of my early Rails projects,
and think I've been scared to try again, which is probably where a lot of my
fear for this project comes from.

And Analysis Patterns: Reusable Object Models, since the Party,
Accountability, and Transaction patterns sound like they have a decent
probability of being at the very least, insightful.

Also, from an off list suggestion, getting Kent Beck's Test Driven
Development: By Example. Started working on a short project for myself to
try and get myself disciplined to red/green/refactor and got
permission todo dev on the model first, using tdd/bdd, and make
demands regarding others'
practices to that end.

Thanks for all the suggestions.
-Josh
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,981
Messages
2,570,188
Members
46,732
Latest member
ArronPalin

Latest Threads

Top