正在加载图片...
674 ON METHODOLOGY $19.5 software you have examined (or produced),the more requirements documents you have tried to decipher (or make decipherable),the more design patterns you have learned (or devised),the more design meetings you have attended (or led),the more talented co- workers you have met (or hired),the more projects you have helped (or managed),the better you will be equipped to deal with a new development.But do not think that your experience makes you infallible.In advanced software design there is no substitute for fresh thinking and creative insights.Every new problem calls for new ideas;everyone,from the seasoned project leader to the latest recruit,can have the right insight on any particular issue;and everyone can go wrong.What distinguishes the great designer is not necessarily that he has fewer bad ideas,but that he knows how to discard them,swallow his pride,and retain the good ideas whether or not he originated them.Incompetence and inexperience are obvious obstacles in the quest for the right solution;conceit can be just as bad. No one will be surprised by these comments who has heard (although not necessarily believed)Luciano Pavarotti stating that he faces stage fright every night.One of the reasons the best people are best is that they are toughest with themselves.This rule is particularly relevant in software design,where there is always the risk of lapsing into intellectual laziness and making easy but wrong decisions,which may later be sorely regretted. 19.5 BIBLIOGRAPHICAL NOTES The"advice to the advisors"part of this chapter is based on [M 1995b]. I first heard the definition of the difference between principles and platitudes from a talk by Joseph Gurvets at TOOLS EUROPE 1992.I owe to Eric Bezault the comment on the relevance of selective exports to the Law of Demeter. EXERCISES E19.1 Self-applying the rules Perform a critique of the methodological rules of this book in the light of the precepts of this chapter.The list of all rules appears in Appendix C. E19.2 Library rules [M 1994a]contains an extensive set of rules,both design principles and style standards, for building library classes.Perform a critique of these rules in the light of the precepts of this chapter. E19.3 Application of the rules Exam ine the software methodology book of your choice,and the rules it gives,in the light of this chapter's precepts. E19.4 Metaphors on the Net Follow for a week or two the discussions of object technology in the Usenet newsgroup devoted to it,comp.object.Track the use of metaphors to talk about software concepts.674 ON METHODOLOGY §19.5 software you have examined (or produced), the more requirements documents you have tried to decipher (or make decipherable), the more design patterns you have learned (or devised), the more design meetings you have attended (or led), the more talented co￾workers you have met (or hired), the more projects you have helped (or managed), the better you will be equipped to deal with a new development. But do not think that your experience makes you infallible. In advanced software design there is no substitute for fresh thinking and creative insights. Every new problem calls for new ideas; everyone, from the seasoned project leader to the latest recruit, can have the right insight on any particular issue; and everyone can go wrong. What distinguishes the great designer is not necessarily that he has fewer bad ideas, but that he knows how to discard them, swallow his pride, and retain the good ideas whether or not he originated them. Incompetence and inexperience are obvious obstacles in the quest for the right solution; conceit can be just as bad. No one will be surprised by these comments who has heard (although not necessarily believed) Luciano Pavarotti stating that he faces stage fright every night. One of the reasons the best people are best is that they are toughest with themselves. This rule is particularly relevant in software design, where there is always the risk of lapsing into intellectual laziness and making easy but wrong decisions, which may later be sorely regretted. 19.5 BIBLIOGRAPHICAL NOTES The “advice to the advisors” part of this chapter is based on [M 1995b]. I first heard the definition of the difference between principles and platitudes from a talk by Joseph Gurvets at TOOLS EUROPE 1992. I owe to Éric Bezault the comment on the relevance of selective exports to the Law of Demeter. EXERCISES E19.1 Self-applying the rules Perform a critique of the methodological rules of this book in the light of the precepts of this chapter. The list of all rules appears in Appendix C. E19.2 Library rules [M 1994a] contains an extensive set of rules, both design principles and style standards, for building library classes. Perform a critique of these rules in the light of the precepts of this chapter. E19.3 Application of the rules Examine the software methodology book of your choice, and the rules it gives, in the light of this chapter’s precepts. E19.4 Metaphors on the Net Follow for a week or two the discussions of object technology in the Usenet newsgroup devoted to it, comp.object. Track the use of metaphors to talk about software concepts
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有