TalkwithMr.Scott
2008-04-09 04:06:25来源:互联网 阅读 ()
UMLChina于3月11日举办了第16期专家交流,这次交流的重点是对象技术、开发过程、敏捷(agile)方法。作为一个agile的初学者,我有幸也参与了这次令人愉快而难忘的讨论,非常高兴可和《Marstering Enterprise JavaBeans》一书的作者Scott W. Ambler先生同在一个聊天室中。以下是我所提的一些问题,以及Scott先生的精彩回答。希望大家可以从中得到一些有价值的东西。截选并整理自聊天记录,I代表我,S代表Mr. Scott,完整的聊天记录可以从这里找到http://www.umlchina.com/Chat/ambler.htm。看起来似乎有点象一篇interview:)
注:AM——Agile Modeling(敏捷建模)
XP——eXtreme
Programming(极限编程)
refactoring——代码重构
[I] With agile method, is there any successed applications in c , except
java?
[S] I don't do a lot of C work any more, so I don't know personally.
However, I have heard about C projects on the XP mailing list on Yahoo
Groups.
[I] Thank you, and I think, as a methodology, AM is language independent, do
you think so?
[S] Yes, I think that AM is language independent. You can use
it for Java projects, COBOL projects, or C# projects. It's also independent of
modeling language, such as UML, as well. It's one of the few modeling methods
that doesn't specify the exact artifacts, such as use cases or data models, that
you are supposed to create. It's a lot like XP -- XP doesn't say that you have
to use Java. AM strives to address the issues of how to be effective at modeling
and documentation, problems that many developers struggle with. UML, on the
other hand, strives to address the issue of what notation and semantics should
be applied to model OO and component software. Each technique is trying to
address different but complementary issues.
[I] It's said that refactoring is more efficient in java application, what do
you think about it?
[S] Most refactorings are currently focused on OO code,
such as Java and C . however, the technique itself could be applied to non-OO
languages. Some work is being done regarding data refactorings but it's pretty
tough to do them.
[I] There are also a lot of work to do with refactoring, it's not very
mature, is that right?
[S] A lot of people are using it very successfully. I
think refactoring is a pretty solid technique.
[I] I'm very interested in refactoring, but there are few books addressing
about it, how do I start to learn?
[S] There's Martin Fowler's book and his
web site. The XP community also talks about it a fair bit. Refactoring will be a
major topic, as far as I know, at the upcoming XP 2002 in Italy in May. I
suspect it will also be a major topic at the XP/Agile Universe convention in
Chicago in August. As paper get published from those efforts I suspect we'll see
more and more information about refactoring. Just takes time. There are also
some interesting refactoring browsers now too, such as IDEA for Java. Worth
looking into.
[I] I think refactoring, as well as AM, is still not so well known in china.
I have not yet seen the chinese edition of Mr. Fowler's book.
[S] I don't
know if it's been translated yet. Sounds like an opportunity for someone if it
hasn't.
[I] Is there any book which addressing agile, I guess not.
[S] There are
several books addressing Agile development, look at
www.agilemodeling.com/resources.htm for some of them. The AM book starts
shipping in North America in 2 wks
[I] What program language is your favourite? What about c , that's my
favorite!
[S] I used to work in C , it's pretty good, and C before that.
I've even worked in COBOL and Fortran.
[I] I have read "Effective C "(Scott Meyers). I think it's very intersting,
and learn a lot from it!
[S] Effective C and the follow-up book were both
amazing.
[I] I have learned something about design patterns, how do you think about
it?
[S] Patterns are important. AM includes a practice called "Apply Patterns
Gently". The basic idea is that you don't want to apply a pattern the instant
you think you need it. Instead, wait until you are sure. For example, you might
have a formula to implement. You could apply the strategy pattern right away,
but the strategy pattern is applicable to several formulas. Instead, wait until
you actually have a second formula to implement, and then consider refactoring
your code to make it easy to implement Strategy if it makes sense later on. Then
when the third formula needs to be implemented refactor your work some more, and
when the fourth formala is required then you should seriously consider
implementing Strategy because now that is the simplest way to do it. If you had
implemented Strategy right away and then only needed to implement the one
formula, you would have done a lot of extra work for nothing. The nature of AM?
AM is a strange thing, it's a different way to look at modeling. I think it's
nature is to keep things simple and to focus on what is actually required, to
not get ahead of yourself.
[I] I think it's practical and reality-oriented, I mean AM, is that right?
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash