On Feb 5, 2008 5:46 AM, bhaaluu <[EMAIL PROTECTED]> wrote: > What I'm interested in is the thought processes and/or > guidelines that Tutors employ when they sit down to design a POOP.
Whenever I have a few free minutes and a desire to contemplate the infinite (Hah!), I surf over to the C2 wiki. I don't know the official name of the thing, I don't even know which page (if any) is supposed to be the "home" page. Rather, I surf around it the same way I did the dictionary when I was a kid - just let one link lead to another. Officially it's about refactoring - which basically means tuning-up a suboptimal design, with the implicit assumption that all designs are suboptimal and could be improved. But it's also a great place to see a bunch of very smart programmers opine on exactly what a good design is in the first place. The principles of OnceAndOnlyOnce and Don'tRepeatYourself, for instance, speak directly to the questions you're asking. I must say that I find the visual design, and the editing style, incredibly infuriating. Not every contributor signs his/her submission, so it's not always clear where one ends and another begins. Did I mention it's ugly? But it's fascinating stuff, and I feel it's made me a better programmer. Most of the programming examples are in Java {ick!}, some are in Smalltalk; I think I've seen some Lisp; I have yet to see an example in Python. But the code is all pretty readable (which is, after all, one of the principles they're trying to get across.) The Code Smells page is as good a starting place as any: http://c2.com/xp/CodeSmell.html Enjoy! (And by the way - if you find any paragraphs particularly hard to follow {I certainly have!}, don't kill yourself. Read on a bit further down the page. Generally another contributor will have restated the same argument in more accessible terms - remember that great programmers are not necessarily great essayists, and vice versa.) -- www.fsrtechnologies.com -- www.fsrtechnologies.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor