Prev: Is there a method I can call where:
Next: Is there an environment variable that gives me line number and file?
From: Josh Cheek on 18 Jun 2010 17:16 [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?
From: Jason Stewart on 21 Jun 2010 08:39 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 On Fri, Jun 18, 2010 at 5:16 PM, Josh Cheek <josh.cheek(a)gmail.com> wrote: > 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? >
From: Stuart Ellis on 21 Jun 2010 09:34 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. On Mon, 21 Jun 2010 21:39 +0900, "Jason Stewart" <jstewart(a)fusionary.com> wrote: > 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 > > > On Fri, Jun 18, 2010 at 5:16 PM, Josh Cheek <josh.cheek(a)gmail.com> wrote: > > 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? > > > >
From: Edward Middleton on 22 Jun 2010 04:52 On 06/19/2010 06:16 AM, Josh Cheek wrote: > 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
From: Josh Cheek on 23 Jun 2010 15:23
[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 |