Talk with Mr. Scott

原创 2002年03月18日 09:14:00

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?
[S] My hope is that people will find AM to be of value to their development efforts. I have found it to be very useful on the projects that I work on and my clients seem to be picking up on it too. Time will tell. I'm trying to keep it as practical as possible. Many of the academics seem threatened by it, so that might be a good sign that it's practical.

[I] And I think AM is more suitable for small developping team with frequent changes, is it right?
[S] AM works very well in high-communication environments, and that tends to be smaller teams. If your requirements don't change frequently, then AM's iterative and incremental nature likely isn't needed by your team.

[I] So, I think AM is very suitable in china, because there are a lot of small teams in china! I'm very interesting about AM and with its applying in real world!
[S] The best way to find about this is to try AM on your next project then.

[I] Thank you!
[S] My pleasure.

(完)

HDU 4247 A Famous ICPC Team

Problem Description Mr. B, Mr. G, Mr. M and their coach Professor S are planning their way to War...
  • u012128533
  • u012128533
  • 2014年07月23日 23:40
  • 375

Mr. Holmes(福尔摩斯先生观后感)--尖锐直白了一生,却以谎言结尾。

趣味一直是我生存到现在的理由,然而有一天起床后我突然发现我的生活并没有我要的趣味,我暂时放弃了学习,休闲了好几天,一直在思考,我的人生应该是怎么样的呢,小说里说钱和女人是男人生存的根本,的确是这样,然...
  • u014431093
  • u014431093
  • 2015年10月18日 14:28
  • 388

图解Linux命令之--talk命令

talk命令--> 加强版的write命令,talk命令可让你与其他登录的用户交谈
  • Jerry_1126
  • Jerry_1126
  • 2016年08月13日 10:04
  • 1176

Oracle 中启动 Scott 用户 的方法

Oracle 中启动 Scott 用户 的方法 , 在 Oracle10g, (g 代表‘网络’的意思) 数据库中  Scott 这个用户 安装时是被锁定的,安装 Oracle的时候 ,你可以直接选择...
  • SongYanJun2011
  • SongYanJun2011
  • 2012年03月04日 14:06
  • 13866

HDU4251-The Famous ICPC Team Again(划分树)

Problem Description When Mr. B, Mr. G and Mr. M were preparing for the 2012 ACM-ICPC World Final Con...
  • mowayao
  • mowayao
  • 2014年06月17日 11:20
  • 533

Oracle 中scott 用户的解锁以及修改密码

修改密码:     scott用户的密码不对,进入管理员用户,修改scott用户密码即可  或者这样修改密码: 在运行栏里面敲:sqlplus(空格)/nolog 回车 接着在弹出框里...
  • yali1990515
  • yali1990515
  • 2016年06月22日 10:32
  • 14216

修改scott密码

修改scott密码 SQL>conn /as sysdba SQL>alter user scott identified by tiger;
  • huangyanlong
  • huangyanlong
  • 2014年05月12日 22:14
  • 1520

Oracle使用Scott用户登录

Oracle有3种用户: system、sys、scott,其中system和sys的区别在与能否创建数据库,sys用户登录才可以创建数据库,而scott是给初学者学习的用户,学习者可以用Scott...
  • u014427391
  • u014427391
  • 2016年03月26日 11:10
  • 9668

牛人博客汇总之摘抄(Talk is cheap, show me the code.)

http://blog.csdn.net/zjf280441589/article/details/26058431 1、读书计划的第一步是选择书籍,我曾向当时我觉得很牛的"学长"和"大神"请教...
  • weiliangdemo
  • weiliangdemo
  • 2015年07月13日 09:56
  • 3196

(HDU 5926)Mr. Frog’s Game 水题 <2016CCPC东北地区大学生程序设计竞赛 - 重现赛 >

Mr. Frog’s Game One day, Mr. Frog is playing Link Game (Lian Lian Kan in Chinese). In this game, i...
  • STILLxjy
  • STILLxjy
  • 2017年01月03日 19:40
  • 407
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Talk with Mr. Scott
举报原因:
原因补充:

(最多只允许输入30个字)